자바(Java) 참조변수의 형변환(업캐스팅/다운캐스팅)
·
JAVA-기초/JAVA기본
참조변수의 형변환? 기본형 변수와 같이 참조변수도 형변환이 가능하다. 단,서로 상속관계에 있는 클래스 사이에서만 가능하다. 자손타입과 조상타입간에 서로 참조변수로의 형변환만 가능하다. 이는 바로 윗 조상이 아닌 최상위 조상인 Object클래스와도 형변환이 가능하다. 업 캐스팅과 다운캐스팅 업 캐스팅 자손 클래스 -> 조상 클래스 : 형변환 생략가능 예시) 다운캐스팅 조상 클래스 -> 자손 클래스 : 형변환 생략불가능 예시를 보면서 이해해보자. 사진에서처럼 조상 클래스1개와 자손 클래스 2개가 있다. 조상클래스와 자손클래스의 형변환이 어떻게 이뤄지는지, 어떤 상황에서 에러가 발생하는지 알아보자. 참고로 자손클래스간의 관계는 전혀 발생하지 않는다. Keybaord - Neonkeyboard // Keyboa..
자바(Java) 다형성(조상클래스,자손클래스)
·
JAVA-기초/JAVA기본
다형성? 여러 가지 형태를 가질 수 있는 능력이란 뜻이며, 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 한다. 더 자세히 말하면, 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하는 것이다. Keyboard와 NeonKeyboard는 서로 상속관계에 있으며 Keyboard는 조상 클래스, NeonKeyboard는 자손클래스이다. 참조 변수 k 에는 키보드 객체의 주소 값이 담겨 있으며, 참조 변수N에는 네온키보드의 값이 담겨있다. 이처럼 참조변수와 인스턴스의 타입이 일치하는 것이 보통이다. 이번엔 서로 상속관계에있는 두 클래스에서 조상 클래스의 타입의 참조변수로 자손클래스를 참조해보자. Keyboard(조상 클래스)참조변수 K에 NeonKeyboard(자손클래스)의 ..