728x90
타입 변환
타입 변환은 인터페이스와 구현 클래스 간에 발생한다.
자동 타입 변환(promotion)
인터페이스 변수 = 구현객체;
- 인터페이스 변수에 구현 객체를 대입하면 인터페이스 타입으로 자동 타입 변환된다.
- 부모 클래스가 인터페이스를 구현하고 있으면 자식 클래스도 인터페이스 타입으로 자동 타입 변환될 수 있다.
강제 타입 변환(Casting)
구현클래스 변수 = (구현클래스) 인터페이스변수;
- 인터페이스 타입으로 자동 타입 변화된 후, 다시 구현 클래스 타입으로 변환되는 것이다.
- 구현 객체를 모르거나, 변경될 수 있어 확인 없이 강제 타입을 변환하면 예외(ClassCastException)가 발생하니 객체의 타입을 확인하는 instanceof 연산자를 사용해 확인 후 변환한다.
728x90
'IT > Java' 카테고리의 다른 글
[Java] 중첩 인터페이스 (0) | 2024.03.13 |
---|---|
[Java] 중첩 클래스(Nested Class) (0) | 2024.03.12 |
[Java] interface method (1) | 2024.03.12 |
[Java] Interface 상수 필드 (0) | 2024.03.12 |
[Java] Interface (0) | 2024.03.11 |