IT/Java

[Java] 타입 변환

Huitopia 2024. 3. 12. 01:13
728x90

타입 변환

타입 변환은 인터페이스와 구현 클래스 간에 발생한다.

 

자동 타입 변환(promotion)

인터페이스 변수 = 구현객체;
  • 인터페이스 변수에 구현 객체를 대입하면 인터페이스 타입으로 자동 타입 변환된다.
  • 부모 클래스가 인터페이스를 구현하고 있으면 자식 클래스도 인터페이스 타입으로 자동 타입 변환될 수 있다.

강제 타입 변환(Casting)

구현클래스 변수 = (구현클래스) 인터페이스변수;
  • 인터페이스 타입으로 자동 타입 변화된 후, 다시 구현 클래스 타입으로 변환되는 것이다.
  • 구현 객체를 모르거나, 변경될 수 있어 확인 없이 강제 타입을 변환하면 예외(ClassCastException)가 발생하니 객체의 타입을 확인하는 instanceof 연산자를 사용해 확인 후 변환한다.

 

728x90