강제 타입 변환(Casting)
강제 타입 변환(Casting)은 부모 타입을 자식 타입으로 변환하는 것을 말한다. 그렇다고 해서 모든 부모 타입을 자식 클래스 타입으로 강제 변환할 수 있는 것은 아니다. 자식 타입이 부모 타입으로 자동 변환한 후, 다음 자식 타입으로 변환할 때 강제 타입 변환을 사용할 수 있다.
ex)
Parent parent = new Child(); //자동 타입 변환
이거라면 부모메소드 꺼만 쓸수 있고 자식메소드 꺼는 못쓴다.
Child child = (child)parent; //강제 타입 변환
이렇게 해줄경우 자식꺼를 쓸 수있다.당연히 부모껏도 쓸수 있다.
-------------------------------------------------------------------------------------------------------
package jongkyu.day0724;
public class ChildExample {
public static void main(String[] args) {
Parent parent = new Child(); //자동타입변환
parent.field1 = "data1";
parent.method1();
parent.method2();
/*
* parent.field2 = "data2"; //불가능
* parent.method3(); //불가능
*
*/
Child child = (Child) parent; //강제 타입 변환
child.field2 = "yyy"; //가능
child.method3(); //가능
parent.method1();
}
}
package jongkyu.day0724;
public class Parent {
public String field1;
public void method1() {
System.out.println("Parent-method1()");
}
public void method2() {
System.out.println("Parent-method2()");
}
}
'IT일반과목 > java' 카테고리의 다른 글
학생에 대한것 그냥 만들기 (0) | 2018.07.26 |
---|---|
포인트 관리 프로그램(인터페이스를 만든후 그걸토대로만들기) (0) | 2018.07.26 |
이클립스 단축키 (0) | 2018.07.24 |
Protected 접근 제한자 (0) | 2018.07.24 |
예금계좌 getter setter (0) | 2018.07.24 |