상속3 [C++] 상속 (2) 정적 연결 포인터 혹은 참조에 의하여 함수가 호출될 때, 일반적으로 포인터의 유형에 따라 호출되는 멤버함수가 결정되는 방식 동적 연결과 가상 함수 프로그램이 실행될 때 실제 객체에 따라 멤버함수를 결정하는 방법 가상함수는 다음과 같이 기초 클래스의 함수 앞에 예약어 virtual을 붙여 표현한다. virtual ReturnType functionName(fParameterList); ※ ReturnType : 멤버 함수의 반환 자료형 ※ functionName : 멤버함수의 이름 ※ fParameterList : 멤버함수의 형식 매개변수 목록 상속관계에 있는 클래스들에 속하는 객체의 포인터 또는 참조 사이에 형 변환이 일어날 수 있다. 이때 파생 클래스를 기초 클래스로 변환하는 것을 업캐스팅이라 하고, .. 2023. 9. 17. [C++] 상속 (1) 파생 클래스를 선언하는 방법 class DClassName : visibilitySpec BClassName { visibilitySpec_1: 데이터 멤버 또는 멤버함수 리스트; visibilitySpec_2: 데이터 멤버 또는 멤버함수 리스트; }; ※ DClassName : 파생 클래스 이름 ※ BClassName : 기초 클래스 이름 ※ visibilitySpec : 가시성 지시어 ☞ public, protected, private 파생 클래스는 파생 클래스의 이름 옆에 콜론(:)과 기초 클래스의 이름을 기록하여 선언한다. 기초 클래스의 멤버는 파생 클래스에 상속되어 마치 파생 클래스의 멤버인 것처럼 사용할 수 있다. 파생 클래스의 생성자는 기초 클래스의 생성자를 호출하고 나머지 필요한 부분만 정.. 2023. 9. 16. [자바의 정석] 07. 객체지향 프로그래밍Ⅱ(1) 1. 상속 두 클래스를 부모와 자식으로 관계를 맺어주는 것 1.1 상속의 정의와 장점 상속이란? 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다.(코드의 재사용) 상속을 통해서 클래스를 작성하다 보면 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 이러한 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. 상속을 구현하는 방법은 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 ‘extends’와 함께 써주기만 하면 된다. class Child extends Parent { } //새로 작성하려는 클래스 Child ( 자손클래스 ) .. 2023. 8. 1. 이전 1 다음