상세 컨텐츠

본문 제목

Java - 객체의 형변환 - 묵시적 형변환

개발/Java

by 뉴에이스 2018. 9. 28. 13:37

본문

객체의 형변환
- 조건 : 상속관관계가 있어야 한다.
- 정의 : "=" 연산자를 기준으로 좌변과 우변의 데이터 타입이 다른 경우
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
자식 메서드

 

관련글 더보기

댓글 영역