반응형
상속관계
상속(inheritance)
- 하위 클래스는 상위 클래스의 특징인 필드와 메소드를 그대로 물려받을 수 있는 특성
- 사람, 교직원, 학생, 교수, 행정직원, 장학생을 클래스로 표현
- 이들 클래스 간의 계층 구조에서 상속이라는 특징을 파악
- 하위인 교수, 행정직원은 상위 교직원의 특성을 모두 물려 받을 수 있음
업 캐스팅
업 캐스팅
- 하위객체는 상위 클래스 변수에 대입이 가능, 상위로의 자료형 변환
- 업 캐스팅은 하위인 교직원은 상위인 사람이라는 개념이 성립
업 캐스팅의 제약
- 업 캐스팅된 변수로는 하위 객체의 멤버를 참조할 수 없는 제약
- 교직원 변수 '김사랑'은 접근 지정자만 허용한다면 모든 멤버에 접근 가능
- 사람 변수 '김사랑'은 사람의 멤버만 접근 가능
다운 캐스팅
다운캐스팅
- 상위 클래스 형을 하위 클래스 형으로 변환
- 다운 캐스팅은 반드시 명시적인 형변환 연산자(하위 클래스)가 필요
- 만일 형변환 연산자가 없으면 컴파일 시간에 오류 발생
클래스자료형 변수 = (클래스자료형)상위클래스자료형객체;
직원 직원1 = (직원) 김사랑;
컴파일 시간
- 상속 관계만 성립하면 다운 캐스팅 가능
실행 시간
- 실제 객체가 할당되지 않았다면 실행 시간에 오류 발생
객체 확인 연산자
instanceof 연산자
- 피연산자1 instanceof 피연산자2
- 피연산자1이 객체변수가 참조하는 객체가 실제 피연산자2 클래스 이름이면 true, 아니면 false를 반환
- 상속관계가 없으면 문법 오류 발생
반응형
'cs > java-spring-boot' 카테고리의 다른 글
[Zero-base] 3-4. 추상 클래스 (0) | 2022.01.26 |
---|---|
[Zero-base] 3-3. 오버라이딩과 오버로딩 (0) | 2022.01.26 |
[Zero-base] 3주차 과제 (CoordinateCompare.java) (0) | 2022.01.25 |
[Zero-base] 3-1. 상속 (0) | 2022.01.23 |
[Zero-base] 2-5. static과 final 그리고 배열 (0) | 2022.01.23 |