U E D R , A S I H C RSS

CppALL/쒸뽈뽈/0524

-- kerokim 2016-05-24 10:51:29 이∼∼쉐리덜.. 씨..뽈뽈 배우려고,,온거야∼∼?!

1. 쒸뽈뽈

회차 : 5회차
시간 : 18시 ~ 20시
장소 : 6층 학회실

1.1. 참가원

멘토 장용운 출석
멘티 김민재 ?
김태헌 ?
?
여영호 ?
이정재 ?
곽정흠 ?
남헌 ?

2. 스터디 진행

2.1. 내용

상속 : 기존 클래스의 기능 확장(재활용)
생성자의 호출 순서 -> 상위 클래스의 생성자 -> 자식 클래스의 생성자
IS-A 관계 -> 상위 클래스의 포인터로 자식 클래스를 참조할 수 있음
다형성(polymorphism) : 상위 클래스의 포인터로 하위 클래스를 생성했을 때, 자식 클래스에서 오버라이딩 한 메소드를 호출할 수 있음
C++에서 다형성을 위해 virtual을 사용함
- 클래스 안에 virtual 선언된 멤버가 있는 경우 클래스 내부에 vtable을 만들어 함수 포인터를 저장함
RTTI(Run-Time Type Information)
부모 클래스 생성자 호출(디폴트 생성자를 호출하는 경우가 아니면) 클래스 생성자에 콜론을 이용해서 부모 클래스의 생성자를 초기화 할 수 있음
캐스팅: 상속 관계상에서 캐스팅을 하는 경우
- 서브 클래스로 캐스팅 : 캐스팅 연산자를 구현해야 함
- 부모 클래스로 캐스팅 : 부모 클래스에 해당하는 멤버 변수만 남음
static_cast -> 컴파일 타임에 캐스팅
dynamic_cast -> 런타임에 캐스팅
부모 클래스로 포인터 캐스팅 : 업 캐스팅
자식 클래스로 포인터 캐스팅 : 다운 캐스팅
abstract base class
- 메소드를 순수 가상 함수(pure virtual method) 형태로 선언
- 해당 클래스만으로는 클래스를 생성할 수 없음.
override 키워드 - 식별이 쉬움
부모 클래스에서 어떤 메소드를 오버로딩 형태로 구현했는데, 자식 클래스에서 오버로딩된 메소드 중 하나를 override 키워드로 선언할 경우, override 키워드 선언한 해당 메소드를 제외한 나머지 오버로딩된 메소드들은 가려져서 접근할 수 없게됨.
상속 방지 - 클래스 선언 시 final 키워드를 사용
override 방지 - 해당 메소드에 final 키워드 사용
클래스 접근 제어자(public, private, protected)

2.2. 다음에 배울 내용

move symantics
연산자 오버로딩
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:02
Processing time 0.0477 sec