포큐아카데미 c++3200강의 내용을 개인학습용으로 정리한 내용입니다.
c++ OOP특징
클래스
개체
생성자
함수 오버로딩
힙에 개체 생성하기
(자바에서는 불가능)
스택에 개채 생성하기
복사 생성자
소멸자
연산자 오버로딩
oop 핵심 개념 == 사람들이 세상을 바라보는 방식
java,c#은 클래스 인스턴스화시 멤버를 초기화값 (정수는 0)으로 초기화한다.
c++는 멤버를 메모리할당만하고 가비지 값 상태로 그대로 둔다
c에 없는 기능이 다른 언어에 있다면 누군가 구현한 것이고 어떻게 구현했을까 생각해보기
new/delete 와 malloc/free 의 차이는?(스스로 찾아보기)
malloc은 메모리 동적할당만 가능하고 초기값을 지정할 순 없다.
new는 할당과 동시에 초기화가 가능하다. 대신 malloc은 realloc으로 재할당이 가능하다.
C++는 초기화리스트를 통해 생성자에서 초기화한다
기본 생성자는 없으면 자동적으로 만들어준다. 생성자가 있으면 기본생성자 만들지 않는다.
C++에는 Destructor 소멸자가 있다! 객체 안에서 할당된 메모리를 직접 해제 해줘야한다.
메소드에 붙는 const :: 개체를 수정할 수 없다.
struct와 class 차이
c++에서 struct와 class는 완전히 똑같다. 다만 기본접근권한이 struct는 public class는 private이다.
컴퓨터는 struct와 class를 구분하지 못한다. 컴파일러는 구분한다.
c++는 구조체를 클래스처럼 쓸 수 있지만 구조체는 c 스타일로 pod(plain old data) 형태로 쓰자.
'Programming Language > C++' 카테고리의 다른 글
[C++/공부/강의/POCU3200/정리]OOP_3 (0) | 2020.03.17 |
---|---|
[C++/공부/강의/POCU3200/정리]OOP_2 (0) | 2020.03.16 |
[C++/공부/강의/POCU3200/정리]파일입출력 (0) | 2020.03.16 |
[C++/공부/강의/POCU3200/정리]string (0) | 2020.03.15 |
[C++/공부/강의/POCU3200/정리]새로운기능 (0) | 2020.03.13 |