다형성

    [JAVA] 업캐스팅(up casting), 다운캐스팅(down casting) Casting을 하는 이유는? 다형성?

    기본적으로 캐스팅은 서로 관련 없는 데이터끼리는 변환되지 않는다. 예를 들어서boolean a = (int) 1; boolean 자료형과 int자료형은 서로 타입이 일치하지 않은 데이터 이기 때문에 되지 않는다. 참조형 데이터 역시 마찬가지이다. 자 그럼 참조형 데이터가 서로 관련이 있다는 것은? 1. 상속관계 2. 인터페이스를 사용해서 확장이 된 경우 이 글에서는 상속관계를 통해 캐스팅을 확인해보도록 하겠습니다. 상속관계의 경우 슈퍼클래스와 서브클래스가 있을 때 서브클래스는 슈퍼클래스보다 가지고 있는 많이 있습니다. 데이터의 양 : 서브클래스 > 슈퍼클래스 (서브클래스는 슈퍼클래스의 데이터를 전부 상속받았기 때문에) 이론적으로 쉽게 생각해보면 서브클래스는 슈퍼클래스의 데이터를 전부 사용할 수 있는데, ..

    [JAVA] #OOP특성 #상속 #다형 #은닉 #캡슐화 #캐스팅 #오버라이딩

    class Mother{ String name; Mother(String name){ this.name = name; } void action() { System.out.println("cooking"); } } class Son extends Mother{ Son() { super("아들"); System.out.println("new Son: "+name); } /*void action() { System.out.print("Son action overriding: "); System.out.println("Soccer play"); } */ } class Daughter extends Mother{ Daughter() { super("딸"); System.out.println("new Daughte..