[java] 부모 클래스와 자식 클래스의 관계

자바에서는 객체 지향 프로그래밍을 지원하며, 부모 클래스와 자식 클래스 간의 관계를 구현할 수 있습니다. 이러한 클래스 간의 관계를 통해 코드를 재사용하고 계층 구조를 구축할 수 있습니다.

부모 클래스와 자식 클래스

자바에서 클래스는 다른 클래스로부터 상속을 받을 수 있습니다. 부모(상위) 클래스는 상속을 통해 자식 클래스에게 속성과 메서드를 제공하고, 자식(하위) 클래스는 부모 클래스의 속성과 메서드를 상속받아 확장하거나 재정의할 수 있습니다.

// 부모 클래스
public class Animal {
    public void sound() {
        System.out.println("동물 소리를 내다");
    }
}

// 자식 클래스
public class Dog extends Animal {
    public void sound() {
        System.out.println("멍멍");
    }
}

위의 예제에서 Animal 클래스는 sound 메서드를 가지고 있으며, Dog 클래스는 Animal 클래스를 상속받아 sound 메서드를 재정의합니다.

부모 클래스의 접근 제어

부모 클래스의 메서드나 속성이 protectedpublic으로 선언된 경우, 자식 클래스에서 해당 메서드나 속성에 접근이 가능합니다. 하지만 private으로 선언된 경우에는 상속은 되지만 직접적인 접근은 불가능합니다.

다형성

자식 클래스는 부모 클래스의 타입으로 사용될 수 있습니다. 이를 다형성이라고 합니다.

Animal myPet = new Dog();
myPet.sound(); // 결과: "멍멍"

myPetAnimal 타입이지만, Dog 인스턴스를 참조하고 있으므로 Dog 클래스의 sound 메서드가 호출됩니다.

부모 클래스와 자식 클래스 간의 관계를 이해하고 활용함으로써 유연하고 확장 가능한 자바 애플리케이션을 구축할 수 있습니다.

참고 자료