본문 바로가기
728x90

전체 글163

👊 취업을 위한 레퍼런스 정리 👊 강의와 책 추천 프로그래밍, 컴퓨터 구조, 알고리즘과 자료구조, cs를 위한 수학, 운영체제, 컴퓨터 네트워킹, 데이터베이스, 언어와 컴파일러, 분산 시스템 https://github.com/minnsane/TeachYourselfCS-KR/blob/main/README.md GitHub - minnsane/TeachYourselfCS-KR: 컴퓨터 과학 스스로 학습하기 https://teachyourselfcs.com 컴퓨터 과학 스스로 학습하기 https://teachyourselfcs.com. Contribute to minnsane/TeachYourselfCS-KR development by creating an account on GitHub. github.com 기술 면접 대비를 위한 기본 개.. 2021. 12. 29.
부동 소수점과 고정 소수점 이진 기수법 10진수에서는 10^n에 해당하는 수가 될 때마다 자릿수가 올라감 2진수에서는 2^n에 해당하는 수가 될 때마다 자릿수가 올라감 10진수 2진수 2 10 4 100 8 1000 9 1001 10진수를 2진수로 바꾸는 방법(정수) 10진수가 1이 될 때까지 계속 2로 나눠가면서 나머지를 구하고, 밑에서부터 거꾸로 읽으면 된다 | ✍️ 35를 이진수로 변환하는 예시 35 / 2 = 17 ... 1 17 / 2 = 8 ... 1 8 / 2 = 4 ... 0 4 / 2 = 2 ... 0 2 / 2 = 1 ... 0 1 1이 나왔으니 밑에서부터 읽어주면 35(10) = 100011(2) 10진수를 2진수로 바꾸는 방법(실수) 정수부는 그냥 정수 변환하는 거랑 똑같이 하면 된다. 소수부가 문제인데, 소.. 2021. 12. 29.
CPP 클래스 상속(Inheritance) 클래스 상속이란? 상속하는 클래스 = 기초 클래스, 부모 클래스 상속받는 클래스 = 파생 클래스, 자식 클래스 class Robot1 { protected: public: private: }; class Robot2:Robot1 { }; 자식 클래스 : 연산자 옆에 어떤 클래스를 상속받을지 작성. protected = private + 자식 클래스의 접근 허용 자식 클래스 특징 반드시 자신만의 생성자를 가져야 됨. 접근할 수 있는 부모 클래스의 모든 멤버 변수, 함수를 가짐. 추가로 멤버 변수, 함수 추가 가능. 자식 클래스의 객체 생성, 소멸 순서 [생성] 부모 클래스 생성자 호출 및 멤버 변수 초기화 -> 자식 클래스 생성자 호출 [소멸] 자식 클래스 소멸자 호출 -> 부모 클래스 소멸자 호출 다중 .. 2021. 12. 22.
cpp 연산자 오버로딩(Operator Overloading) 연산자 오버로딩이란? 기존의 연산자를 재정의하는 것 연산자 오버로딩을 통해 =의 기능을 재정의 해주면, 연산자를 사용할 수 없는 객체가 기본 자료형 변수처럼 덧셈, 뺄셈, 혹은 곱셈과 같은 연산들을 할 수 있음. Robot robot1("hi"); Robot robot2; robot1 = robot2; 2021. 12. 21.
cpp 오버로딩(Overloading) 오버로딩이란? 메서드의 이름은 같지만, 매개변수를 다르게 함으로써 메서드를 여러개 만드는 것 (member function overloading) 함수의 이름은 같지만, 매개변수를 다르게 함으로써 함수를 여러개 만드는 것 (function overloading) c에서는 오버로딩이 존재하지 않아, 같은 기능을 하는 함수여서 매개변수에 따라 다른 이름으로 함수를 만들어야 했다. int sum_int (int a, int b) { return a + b; } double sum_double (double a, double b) { return a + b; } int main() { std::cout 2021. 12. 21.
cpp 복사생성자 (copy constructor) 복사 생성자(copy constructor) 자신과 같은 클래스 타입의 다른 객체에 대한 참조(reference)를 인수로 전달받아 그 참조를 가지고 자신을 초기화하는 방법 // 복사생성자선언 Robot::Robot(const Robot& r) 복사 생성자는 새롭게 생성되는 객체가 원본 객체와 같으면서도, 완전한 독립성 가짐 -> 복사 생성자의 대입은 깊은 복사(deep copy)를 통한 값의 복사이기 때문 깊은 복사가 뭔지 모른다면 아래 링크를 클릭! https://developer-eun-diary.tistory.com/entry/cpp-%EC%96%95%EC%9D%80-%EB%B3%B5%EC%82%AC%EC%99%80-%EA%B9%8A%EC%9D%80-%EB%B3%B5%EC%82%AC cpp 얕은 .. 2021. 12. 21.
cpp 얕은 복사와 깊은 복사 얕은 복사 새롭게 생성하는 객체에 다른 객체의 값을 대입하고 싶을 때 대입 연산자(=)를 사용. Robot robot1("hi"); 특히 객체의 멤버가 메모리 공간의 힙(heap) 영역을 참조할 경우에는 문제가 발생! 깊은 복사 깊은 복사를 하게 되면 새로운 메모리를 할당받아 데이터를 객체에 값을 대입하게 됨. 원하는 값을 받았지만 독립적으로 메모리를 써 문제가 생길 여지가 없음! class Robot { public: char *name; // 생성자 Robot(char* _name) { //공간을 새로 할당해서 데이터를 입력 name = new char[strlen(_name) + 1]; strcpy(name, _name); } // 복사 생성자 - 깊은 복사 Robot(const Robot& r) .. 2021. 12. 21.
2021년 Stack Overflow Developer Survey - OS 개발자라면 제일 많이 이용하는 사이트 중 하나인 Stack Overflow를 다들 아시죠!? Stack Overflow에서 2021년 개발자 설문조사 결과가 나왔습니다! Stack Overflow 유저들에게 응답받은 설문 내용이라고 합니다. 개발 경력, 개발자 타입, 성별부터 시작해서 가장 인기 많은 언어, 데이터베이스 등 여러 정보들을 확인할 수 있어요 여러 통계를 보는게 너무 재미있더라고요! https://insights.stackoverflow.com/survey/2021#operating-system Stack Overflow user 중에는 풀 스택 개발자가 제일 많군요..! 올 한 해 개발자들에게 제일 인기있던 언어는 바로 JavaScript!! (물론 Stack Overflow users 안.. 2021. 12. 20.
Windows11(윈도우11) git 설치하기 Git scm에 들어가서 downloads를 클릭 https://git-scm.com/ Git git-scm.com 윈도우용으로 다운 다운로드된 파일을 열어서 설치 시작 (취향에 맞춰 세팅을 해도 좋지만, 잘 모르시는 분들은 기본 세팅으로 설치하시면 됩니다! 저도 기본 세팅ㅎㅎ) 원하는 위치에서 우클릭을 통해 git bash를 실행 가능 github 초기 설정 git config --global user.name "tmddms927" git config --global user.email "tmddms927@naver.com" 2021. 12. 20.
728x90