코딜기

[Java] 다형성의 instanceof 본문

Language/Java

[Java] 다형성의 instanceof

코딜기 2024. 9. 19. 19:33
반응형

instanceof란?

  • instanceof는 객체가 특정 클래스의 인스턴스인지 확인할 때 사용됩니다.
  • 다형성이 적용된 경우 부모 타입의 변수에 저장된 객체가 실제로 어떤 타입인지 확인하는 데 유용합니다.

instanceof 사용

public void sayHello(Animal ani) {
    if(ani instanceof Dog) {
        System.out.println("강아지");
    } else if(ani instanceof Cat) {
        System.out.println("고양이");
    } else if(ani instanceof Duck) {
        System.out.println("오리");
    }
}
  • sayHello 메서드는 다형성이 적용된 매개변수를 받습니다.
  • Animal 타입으로 선언된 변수에 Dog, Cat, Duck 객체가 모두 전달 가능합니다.
  • 그러나 객체마다 다른 인사법이 있기 때문에 객체 구분이 필요합니다.
  • 이때 instanceof 키워드를 사용하여 객체의 타입을 확인할 수 있습니다.
  • 중요한 점은 instanceof는 "좌항의 객체가 우항의 타입이냐"가 아니라, "좌항의 객체가 우항의 타입을 가질 수 있느냐"를 묻는 것입니다.
반응형
Comments