[ Java: 다운 캐스팅과 instanceof ]


[ Java: 다운 캐스팅과 instanceof ]

상위 클래스를 자료형으로 선언하는 Animal ani = new Human(); 코드를 쓸 수 있습니다. 필요에 따라 다시 원래 인스턴스의 자료형(Human 형)으로 되돌아가야 하는 경우가 있습니다. 이를 다운 캐스팅(down casting)이라고 합니다. instanceof 다운 캐스팅을 하기 전 원래 클래스의 자료형을 확인하는 예약어가 'instanceof'입니다. Animal hAnimal = new Human(); if(hAnimal instanceof Human) { Human human = (Human)hAnimal; } instanceof의 반환 값이 true이면 다운 캐스팅을 하는데, 이때는 Human human = (Human)hAnimal; 문장과 같이 명시적으로 자료형을 써 주어야 합니다. 상위 클래스로는 묵시적으로 형 변환이 되지만, 하위 클래스로 형변환을 할 때는 명시적으로 해야합니다. instanceof로 인스턴스형을 확인하지 않으면 오류가 발생할 수 있습...


#instanceof #java #다운캐스팅 #자바

원문링크 : [ Java: 다운 캐스팅과 instanceof ]