-- [kerokim] [[DateTime(2016-05-24T10:51:29)]] ''이∼∼쉐리덜.. 씨..뽈뽈 배우려고,,온거야∼∼?!'' [[TableOfContents]] = 쒸뽈뽈 = 회차 : 5회차 시간 : 18시 ~ 20시 장소 : 6층 학회실 == 참가원 == || 멘토 || [장용운] || 출석 || ||<|7> 멘티 || [김민재] || ? || || [김태헌] || ? || || [양덕] || ? || || [여영호] || ? || || [이정재] || ? || || [곽정흠] || ? || || [남헌] || ? || = 스터디 진행 = == 내용 == 상속 : 기존 클래스의 기능 확장(재활용) 생성자의 호출 순서 -> 상위 클래스의 생성자 -> 자식 클래스의 생성자 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) == 다음에 배울 내용 == move symantics 연산자 오버로딩 = 잡담 = --------------------------------------------------------------------- [활동지도/2016] [CppALL/쒸뽈뽈]