728x90

Class 7

#30. 오버라이딩, virtual, 객체포인터

#상속 관계에서 생성자와 소멸자 상속 관계에서 생성자와 소멸자는 아래와 같이 이루어 진다. 부모클래스 생성자 -> 자식클래스 생성자 -> 자식클래스 소멸자 -> 부모클래스 소멸자 순으로 생성자와 소멸자가 생성된다. 메모리 할당 순서까지 확인해보면 객체 생성 -> 메모리 할당 -> 부모 생성자 호출 -> 자식 생성자 호출 -> 자식 소멸자 호출 -> 부모 소멸자 호출 -> 메모리 반환 -> 객체 소멸 순이다. #객체포인터 객체 자신의 주소 또는 자신을 직/간접 상속받는 객체의 주소를 저장할 수 있다. 부모클래스* AA = new 부모클래스; -> 가능 부모클래스* AA2 = new 자식클래스; ->가능 자식클래스* AA3 = new 부모클래스; -> 불가능 #오버라이딩 상속관계에서 부모클래스의 멤버함수를 ..

개발 Study 2021.05.13

#29. class 상속

#class 상속이란 class 에서 상속은 함수나 변수등, 공통적으로 사용할 것이 있을 때, 부모클래스에서 자식클래스로 상속을 시키면 부모클래스에 있는 것들을 자식클래스에서 사용 할 수 있다. -> 각 클래스가 공통으로 필요한 것이 있을 때 부모클래스에 공통적인 것을 몰아 넣고 자식클래스1, 자식클래스2 등등 에 상속시켜주면 좀 더 편하게 할 수 있다. 상속 방법은 class 클래스명 옆에 :(콜론)을 붙이고 부모클래스명을 붙이면 된다. ex) class CChild : CParents { }; 이때 콜론 뒤에 상속 속성을 쓸 수 있는데, public / protected / private가 있다. 각 속성에 따라 자식클래스에서 사용법이 달라진다. class CChild : private CParent..

개발 Study 2021.05.12

#28. static, this, extern, 복사생성자

#11. 지역변수, 전역변수 및 메모리구조 (2) (tistory.com) #11. 지역변수, 전역변수 및 메모리구조 (2) # 지역변수, 전역변수 #10. 함수 및 메모리 구조 (tistory.com) 재사용성이 좋기 때문에 자주 사용한다. 함수는 1. input O output O ex) y=f(x) 2. input O output X ex) srand(seed) 3. input X output O ex) ra.. hyukee.tistory.com #static static은 기존에 Data영역에 저장되며, 지역변수의 해당 지역내에서만 접근이 가능의 특성 전역변수의 Data영역에 저장되어 함수가 끝나도 값이 버려지지 않는다는 특성 두가지 특성을 모두 가지고 있다고 했다. 그 static 특성을 cla..

개발 Study 2021.05.10

#27. const와 class, 멤버 이니셜라이저

hyukee.tistory.com/38 #26. 클래스의 생성자, 소멸자 class CLS { public: CLS() // 생성자 { cout 메모리할당 단계에서 작동하는데, 선언과 동시에 초기화를 할 수 있다. class 생성자의 선언부와 정의부 사이에 콜론(:)을 사용하여 이니셜라이저를 사용할 수 있다. class CLS { const int m_iA; public: CLS(int _ia) // 생성자 :m_iA(_ia){} // 이니셜라이저 }; #const 1. class내에서 함수를 만들 때, const를 사용한 const멤버 함수를 작성하면 class내의 멤버변수는 그 함수 내에서 변경이 불가능하다. (단, 함수내의 지역변수는 변경이 가능하다.) class CLS { int m_iA; pub..

개발 Study 2021.05.06

#25. 객체지향, 클래스

객체지향프로그래밍 (OOP : Object Oriented Programming) -> 객체간의 상호작용으로 프로그래밍이 진행된다. 상호작용은 객체들이 가지고 있는 함수를 통해 이루어 진다. 유지, 보수 및 관리가 용이하다. 클래스(Class) ->C++부터 생긴 사용자 정의 자료형이다. 변수와 데이터를 다루는 함수를 하나로 묶어 놓은 것이다. 클래스 자료형을 토대로 변수명을 부여하면 메모리에 등록이 된다. 이를 인스턴스(Instance)라고 부른다. 클래스는 class 클래스명 { 변수 및 함수 선언 }; 으로 선언된다. 접근시에는 클래스명.변수또는함수명 으로 접근이 가능하다. 클래스를 선언할때 private public protected 세가지로 나뉘어 지는데, 멤버내 선언들은 기본적으로 privat..

개발 Study 2021.05.05