#Reference Type Casting
래퍼런스 타입의 변수들은 상속관계일 경우 형변환이 가능하다.
Member cc = new MainMember();
MainMember c = (MainMemver) cc; //큰타입에 작은 타입으로 형변환은 가능하지만
이건 가능하지만
Member cc = new Member();
MainMember c = (MainMemver) cc;
이건 컴파일은 되고 실행하면 캐스팅 오류가 난다.
Parent c = new Child();
Child xx = (Child)c; // 큰 타입을 작은 애로 형변환 가능.
// 통은 큰데 들어있는 내용이 작으니 가능
이러면 자식 클래스의 메소드, 필드에 접근이 가능하다.
이거 역시 가능하지만
Parent c = new Parent(); // 진짜로 큰 타입을 작은 걸로 형변환 안됨.
Child xx = (Child)c;
// 통도 크고 들어있는 내용도 크면 작은 걸로 못들어감.
'JAVA > JAVA 개발, 알고리즘 tip' 카테고리의 다른 글
#equals(Object o) : boolean - 객체의 내용을 비교 (0) | 2019.01.19 |
---|---|
Java #toString (0) | 2019.01.19 |
#문자열 공백 제거 Trim() 함수 (0) | 2019.01.19 |
#배열에 객체가 넘어갔을때 (0) | 2019.01.19 |
# 클래스가 여러개 있을때는 하나의 클래스만 public 이 가능하다 (0) | 2019.01.19 |