Casting
1. 기본 타입의 형변환
2. 참조 타입의 형변환
1. 기본 타입의 형변환
2. 참조 타입의 형변환
public class animalCheck{
public static void main(String[] args){
Animal a = new Animal();
Dog d = new Dog();
//-------------묵시적 형변환--------------
a = d;
//상위의 것은 하위의 것을 참조할 수 있음
//작은 것은 큰 쪽으로 변환이 가능
a.fly(); //날 수 있는 동물은 가능하니까
//d.fly(); //실행 불가능
//-------------명시적 형변환--------------
d = (Dog)a;
d.jump();
//d = a;
//큰 것을 작은 쪽으로 담기 위해서는 명시해줘야
//-------------명시적 형변환2--------------
a = new Animal();
d = (Dog)a;
// Animal a 참조변수는 Animal 자신의 인스턴스를 참조
// 그렇기 때문에 Animal a 참조변수는 Animal 인스턴스를 참조하기 때문에 Exception이 발생
// 이렇듯 Animal a가 Animal 인스턴스를 참조하고 있는 경우가 있을 수 있기에 Down-cating은 명기 필수
// d = (Dog)a; 컴파일시 Exception
}//main method over
}//class over
class Animal(){
String houling;
void fly(){
System.out.println("birds fly sky");
}
void swim(){
System.out.println("fish and whale swim");
}
void houling(){
System.out.println("animal houl");
}
}//class over
class Dog extends Animal{
void houling(){
System.out.println("멍멍");
}
}//class over
| cs |