상속

    [Java] Upcasting(업캐스팅), Downcasting(다운캐스팅), instanceof

    [Java] Upcasting(업캐스팅), Downcasting(다운캐스팅), instanceof

    전제조건: 상속의 관계에 있어어야 함 Up casting (업캐스팅) 부모 타입의 객체에 자식 클래스의 필드를 담아주는 것 부모 타입의 객체에 자식 생성자를 호출 필드의 사용 범위가 부모타입만큼 제한 되기 때문에 자식 클래스에서 추가된 내용은 사용할 수 없다. 단, 오버라이딩 된 메소드는 사용가능 자식필드는 존재하지만, 사용불가능인 개념 부모클래스 객체명 = new 자식생성자(); Car mycar = new SuperCar(); Down casting (다운캐스팅) 업 캐스팅 된 객체를 다시 자식타입으로 바꾸는 기법 업캐스팅이 되지 않은 객체는 다운캐스팅 불가능 업 캐스팅 된 객체에 다시 자식클래스의 필드를 달아주는 것 업 캐스팅시 잘려나갔던 자식 클래스의 내용들을 다시 사용할 수 있게 하려면 자식 클..

    [Java] 상속(inheritance), 자식클래스 생성자, super()

    [Java] 상속(inheritance), 자식클래스 생성자, super()

    상속(inheritance) 기존에 선언된 클래스의 필드를 다른 클래스에서 사용하고자 할 때 실제 필드를 전달하는 것이 아닌 관계를 정의하는 개념 클래스들을 만들다 보니 공통요소가 보여서 부모로 묶은 후 상속시켜 주어서 사용하고자 할 때 class A{ A의 필드 } class B extends A{ B의 필드 + A의 필드 } B obj = new B(); //obj 객체는 실제로는 A의 필드와 B의 필드를 둘 다 가진다. A : 부모클래스/상위클래스, 슈퍼클래스/기반클래스 B : 자식클래스/하위클래스, 서브클래스/파생클래스 객체를 만들 때 클래스 사용 : 자식클래스의 생성자 생성자가 호출되었을 때 부모클래스의 필드가 먼저 생성되고, 자식클래스의 필드가 함께 복사되고, 객체는 그것을 가르킨다. supe..