본문 바로가기

다형성2

class의 다형성과 가상함수 _210617 1. 다형성 - 업 캐스팅 : 부모 포인터 타입으로, 부모 클래스로부터 파생되는 자식 클래스 객체들의 주소를 가리 킬 수 있다. - 모든 객체를 부모 클래스 타입으로 인식하기 때문에, 실제 객체가 무엇인지 알 수 없다.( 어떤 자식인지 구분 불가 ) -> 아래 두 개의 객체를 같은 것으로 인식한다. - 다운 캐스팅 : 부모 클래스에서 선언된 지 않고 자식 쪽에서만 추가된 함수를 업 캐스팅된 자식 클래스에서 강제로 자식 포인터로 형 변환(캐스팅)하여 자식 클래스의 멤버에 접근하는 법 - 다이나믹 캐스팅 - 가상 함수 virtual 키워드를 통해서, 각 클래스는 자신만의 고유한 가상함수 테이블을 가지게 된다. 2. 가상 함수 (virtual) - 상속 시 가상 함수가 하나 이상 있어야한다. 일반적으로 소멸자.. 2021. 6. 17.
class의 상속과 다형성 _ 210616 1. 객체 지향 언어의 특징 - 캡슐화 ( 은닉성 ) - 상속 - 다형성 - 추상화 2. 상속 - 클래스 간 상하 관계가 생기고 자식 클래스에서 부모 클래스를 접근할 수 있게 된다 - protected : 부모 클래스 기준으로 자식 클래스는 외부 영역이기 때문에 private 으로 선언한 변수, 함수를 이용할 수 없다. 대신 protected로 선언하여 자식 클래스에서는 참조할 수 있지만 다른 외부영역에선 참조 할 수 없도록 제한한다. - 생성자 : 자식 클래스를 이니셜라이즈 할 때 부모의 생성자를 호출해준다 ( 생략할 경우 자동으로 기본 생성자 호출, 오 버로딩 된 생성자의 경우 반드시 별도 호출이 필요 ) 부모의 멤버를 개별적으로 초기화할 경우 자식생성자의 이니셜라이즈가 아닌 대괄호 안 세팅에 넣어줘.. 2021. 6. 16.