java - 4

원종서·2023년 3월 9일

부모타입 = 자식타입
자식타입에서 부모타입으로 자동형변관 가능

부모타입으로 자동 타입 변환된 이후, 부모 클래스에 선언된 필드와 메소드에만 접근 가능!
( 변수는 자식 객체를 참조하지만 변수로 접근 가능한 멤버는 부모 클래스 멤버로 한정됨)
하지만 자식 클래스에서 오버라이딩 된 메서드가 있으면, 부모가 아닌 오버라이딩 된 메서드가 호출된다.

  • 강제 타입 변환

    	Parent parent = new Child(); // 자식 객체가 부모 타입으로 자동 변환 후  다시 자식 타입으로 변환할 때만 강제 타입 변환을 사용할 수 있다.
       Child child = (Child)parent;
  • 객체 타입 확인

    boolean result = 객체 instanceof 타입;
    
    
    // exam
    public void method(Parent parent) {	
    	if(parent instanceof Child) {
       	Child child = (Child)parent;
           ...
       }
    }
    
    // from java12
    if(person instanceof Student student){
    	student.method();
    }

0개의 댓글