티스토리 뷰

LANGUAGE/JAVA

[JAVA] 자료형변환

찰떡쿠키부스트 2017. 11. 15. 10:05

자료형변환

 

-다형적변수로 자식의 메서드중에서 
  ​오버라이딩되지 않는 메서드를  호출할때 형변환을 해야한다.

class A{
  void a(){System.out.println(1);}
  }
class B{
public static void main(String args[]){
  Object o=new A();
      //o.a(); // here
}
}
[an1]   
  A o2=(A)o;
  o2.a();

[an2]

  ((A)o).a();


# ClassCastException : 클래스변환에러

[ex]
class Animal{}
​class Dog extends Animal{}
class Cat extends Animal{}
class A{
public static void main(String args[]){
  Animal animal=new Dog();
  Cat cat=(Cat)animal;
 }
}

# instanceof연산자 : 자료형검사하는 연산자

[sy] 객체명 instanceof  클래스명

[ex]

class A{}
class B extends A{}
class C extends A{}
class D{
public static void main(String args[]){
  A o=new B();
  System.out.println(o instanceof B); // true
  System.out.println(o instanceof C); // false
  System.out.println(o instanceof D); // 컴파일에러
}
}

'LANGUAGE > JAVA' 카테고리의 다른 글

[JAVA] 자바의 진수표현  (0) 2017.11.15
[JAVA] 상수 & 인터페이스  (0) 2017.11.15
[JAVA] 기타제어자  (0) 2017.11.15
[JAVA] 다형적변수  (0) 2017.11.15
[JAVA] 메서드 오버로딩,오버라이딩  (0) 2017.11.15
댓글