140 likes | 337 Views
제 6 장 상 속 6.1 상속의 개념 6.2 접근 제어 6.3 상속 관계 6.4 다중 상속. 6.1 상속의 개념. 상위 클래스의 기능과 속성을 하위 클래스에게 그대로 물려주는 것을 의미 상위 클래스를 부모 · 기반 (base) 클래스 , 하위 클래스를 자식 · 파생 (derived) 클래스라고 정의 하위 클래스는 상속을 받으면 상위 클래스의 기능과 속성을 사용할 수 있음. 상속의 개념. 상위클래스 기능 1, 속성 1. 하위클래스 기능 2, 속성 2 + 기능 1, 속성 1. 상속.
E N D
제6장 상 속 6.1 상속의 개념 6.2 접근 제어 6.3 상속 관계 6.4 다중 상속
6.1 상속의 개념 • 상위 클래스의 기능과 속성을 하위 클래스에게 그대로 물려주는 것을 의미 • 상위 클래스를 부모·기반(base)클래스, 하위 클래스를 자식·파생(derived)클래스라고 정의 • 하위 클래스는 상속을 받으면 상위 클래스의 기능과 속성을 사용할 수 있음 상속의 개념 상위클래스 기능1, 속성1 하위클래스 기능2, 속성2 + 기능1, 속성1 상속
6.2 접근제어 • 기본접근제어자
6.2 접근제어 • protected 키워드 • 파생클래스에서의 접근만 허용하고, 외부 클래스에서의 접근은 private처럼 제한 보호 수준 때문에 'CAR.자동차.자동차는굴러다닌다()'에 액세스할 수 없습니다.
6.2 접근제어 • 예제 6-3
6.2 접근제어 • sealed class • 자신으로부터 파생되는 클래스를 생성하는 것을 제한 • base 키워드 • 기반 클래스의 멤버를 나타냄 • 상위 클래스의 멤버를 하위 클래스에서 재정의(override) 하였을 경우 디폴트는 override 된 멤버 • 상위 클래스의 멤버를 사용할 경우 명시 Public sealed class 클래스이름
6.2 접근제어 • 예제 6-4
6.2 접근제어 • 결과 화면
6.3 상속 관계 • 기본적인 관계 • is-a 관계 : 강한 연결이며 ‘~이다’라는 의미 • has-a 관계 : ‘가지고 있다’라는 의미, 포함·위임 관계 • 예제 6-5 • Car 클래스는 에어컨과 TV를 갖고 있고 에어컨의 온도를 올리거나 내리는 경우, TV를 키고 끄는 경우 기존의 has-a 관계를 이용(Car 클래스는 에어컨과 TV를 포함) • 에어컨과 TV를 작동하는 세부 방법은 각 객체에 위임
6.3 상속 관계 • 포함/위임 관계 • 예제 6-5 • Car 클래스는 AirCon과 TV 클래스를 갖고 있음 • Driver 클래스는 차를 구입해서 온도를 조절, TV 작동 • Car 클래스의 객체를 생성하면 AirCon과 TV 객체도 자동 생성 • Car 클래스는 자식객체의 기능은 잘 모르므로 실제 구현은 위임 • Car 클래스 정의
6.3 상속 관계 • 자식 객체의 세부 구현 위임 부분
6.3 상속 관계 • 자동차의 자식객체를 사용하는 클래스 • 결과 화면
6.4 다중상속 • 하나의 클래스가 여러 개의 클래스로부터 상속을 받는 것 • C#에서는 하나의 클래스가 동시에 2개 이상의 클래스에서 상속 받는 것을 지원하지 않음 • 인터페이스(interface)를 이용하여 다중상속 지원 • 예제 6-6(인터페이스 부분)
6.4 다중상속 • 예제 6-6(인터페이스를 상속 받은 클래스 부분)