[JAVA] 클래스(강제 형변환)

2023. 5. 18. 19:56Languages/JAVA

💬 기억하고 싶거나 공부한 내용을 기록중입니다 :)   부족한 점이 많을 수 있어, 매일 배워가고 있습니다.

 

1️⃣ 클래스(class)의 강제 타입 변환

- 조건 : 자식 클래스가 부모 클래스로 타입 변환되어 있는 경우에만 가능

- 주의: 강제 타입 변환하기 전에 어떤 클래스의 객체인지 모르기 때문에 확인이 필요(instanceof)

class SuperClass{
	int numFruit = 15;
}

class OrigClass extends SuperClass{
	int numFruit = 20;
}

class SubClass extends OrigClass{
	int numFruit = 30;
}
public class Fruit{
	public static void main(String[] args){
		OrigClass o1 = new SubClass();                     // 자동 타입 변환
		SubClass s1 = (SubClass)o1;	                   // 강제 타입 변환

		if(s1 instanceof SuperClass){
			System.out.println("casting ok");          // 결과 : casting ok
		}else{
			System.out.println("casting no");
		}
	}
}