목차


<aside>

</aside>

자바의 참조형 캐스팅


캐스팅 이란 데이터 타입을 다른 타입으로 바꾸는 것이다. () 캐스팅 지시자를 이용해 소수 데이터를 long 데이터로 캐스팅(변환)한 예시이다.

long test = (long) 1.2321;

Java는 데이터형이 기본형, 참조형의 2가지로 나뉜다.

<aside>

  1. 기본형 : Boolean, Numeric(short/int/long ..)
  2. 참조형 : Class, Interface, Enum .. </aside>

업/다운 캐스팅은 부모 ↔ 자식 클래스간의 형변환을 하는 것이다. 클래스는 참조형이다. 따라서, 업/다운 캐스팅인 참조형 캐스팅이라고도 불린다.

image.png

자식 클래스는 부모 클래스를 확장하기 때문에 부모 멤버+@ 를 갖는다. 그래서 참조형 캐스팅은 단순히 값을 변경하는 것이 아닌 멤버의 개수를 조절하는 관점에서 바라보면 좋다.

image.png

Animal 부모 클래스를 바탕으로 Dog, Cat 자식 클래스가 상속하고 있는 코드를 만들어 하나씩 공부해보자. Dog 클래스는 .getName()을 오버라이딩하고 있으며, 각 자식 클래스는 **bark(), cry()**를 새로 구현하고 있다.

class Animal {
    String getName() {
        return "동물입니다.";
    }
}

class Dog extends Animal {
    String bark() {
        return "왈왈";
    }

    String getName() {
        return "강아지입니다.";
    }
}

class Cat extends Animal {
    String cry() {
        return "야옹";
    }

    String getName() {
        return "고양이입니다.";
    }
}

업캐스팅 : 자식 → 부모