본문 바로가기
개발/Java

객체 형변환

by BellOne4222 2024. 1. 28.

객체 형변환(Object Casting)


부모 자식 간의 형 변환

  • 부모와 자식 간에 형 변환이 된다

    • 부모는 여러 명의 자식을 가리킬 수 있다.

    • 부모를 알면 자식들을 관리 하기 쉽다.

    • Upcasting

      • 자동 형변환
    • Downcasting

      • 상위 클래스의 타입을 하위 클래스의 타입으로 바꾸는 행위

      • 강제 형변환

      • 업캐스팅이 되어야 다운캐스팅이 가능하다.

      • 부모가 자식 타입으로 형변환

        public class OverrideTest {
          public static void main(String[] args) {
        
              // Upcasting : Dog의 소스코드를 주지 않고 Dog의 클래스와 상속 관계인 것만 알면 Animal 부모 클래스로 Dog 자식 클래스를 사용하기 위해서 사용
              Animal ani = new Dog(); // 부모 클래스로 Dog 자식 클래스 사용
              ani.eat(); // Animal---(동적바인딩)-->Dog
        
              ani=new Cat(); // 같은 부모 클래스를 사용하기 때문에 Animal 선언 x
              ani.eat();// Animal---(동적바인딩)-->Cat
              // ani.night(); // Downcasting(다운캐스팅)
              // Cat c = (Cat)ani;
              // c.night();
              ((Cat)ani).night(); // Downcasting
          }
        }

'개발 > Java' 카테고리의 다른 글

추상클래스와 인터페이스  (0) 2024.01.29
다형성  (0) 2024.01.29
상속  (1) 2024.01.28
객체 생성과 static 과의 관계  (0) 2024.01.28
JVM이 사용하는 메모리 영역  (0) 2024.01.28