객체의 형변환
- 조건 : 상속관관계가 있어야 한다.
- 정의 : "=" 연산자를 기준으로 좌변과 우변의 데이터 타입이 다른 경우
ex>
A a = new B();
- 종류 : 명시적형변환(형변환 연산자 - (타입) ), 묵시적형변환
char c = (char)100;
묵시적형변환
- 상위클래스 = 하위클래스 (부모=자식)
좌변에 온 클래스타입에 대한 접근 및 사용가능함
단, 오버라이딩 된 경우 자식의 메서드를 호출함
소스
public static void main(String[] args) {
Object obj = new CastParent();
// obj.toString() + 묵시적형변환
System.out.println(obj);
// 묵시적형변환 : 부모 = 자식
CastParent cp = new CastChild();
CastChild cc = new CastChild();
// 묵시적형변환
CastParent cp2 = cc;
// cp2가 사용할 수 있는것 : CastParent에 선언되어 있는 것
System.out.println(cp2.msg);
System.out.println(cp.val);
// 자식메서드에 오버라이딩된 call 메서드가 호출됨
cp2.call();
//System.out.println(cp2.msg2);
//System.out.println(cp.val2);
//cp2.test();
}
결과
CastParent [msg=null, val=0]
null
0
자식 메서드
Java - 추상 클래스 (0) | 2018.09.28 |
---|---|
Java - 객체의 형변환 - 명시적 형변환 (0) | 2018.09.28 |
Java - 상속, 추상클래스, 인터페이스, 객체의 형변환, 접근제한자 (0) | 2018.09.28 |
Java - 생성자와 this (0) | 2018.09.28 |
Java - String 클래스 활용하기 (문자열 연산 속도 비교) (0) | 2018.09.28 |
댓글 영역