[java] 상속을 이용한 다른 클래스의 기능 확장

자바에서는 상속을 통해 기존 클래스의 기능을 재사용하고 확장할 수 있습니다. 이를 통해 유지보수 및 코드 재사용이 용이해지며, 객체 지향 프로그래밍의 핵심 개념 중 하나입니다.

상속의 개념

상속은 부모 클래스의 특성과 기능을 자식 클래스가 물려받는 것을 의미합니다. 자식 클래스는 부모 클래스의 모든 public 및 protected 멤버를 직접 사용할 수 있습니다. 이뿐만 아니라, 자식 클래스는 부모 클래스의 메서드를 오버라이딩하여 새로운 기능을 추가하거나, 이미 구현된 메서드를 재활용할 수 있습니다.

상속을 통한 클래스의 확장

예를 들어, 동물을 나타내는 Animal 클래스가 있고, 이를 확장하여 각종 동물들을 구체화하는 Dog 및 Cat 클래스를 만든다고 합시다. 상속을 통해 Dog 및 Cat 클래스는 Animal 클래스의 특성을 물려받을 뿐만 아니라 각각의 고유한 특성 및 메서드를 추가할 수 있습니다.

class Animal {
    public void sound() {
        System.out.println("동물이 소리를 냅니다.");
    }
}

class Dog extends Animal {
    public void sound() {
        System.out.println("멍멍!");
    }
}

class Cat extends Animal {
    public void sound() {
        System.out.println("야옹~");
    }
}

위의 예시에서 Dog 및 Cat 클래스는 Animal 클래스를 상속받아 sound() 메서드를 오버라이딩하여 각각 “멍멍!”과 “야옹~”이라는 다른 기능을 가지게 됩니다.

상속의 장점

상속을 통해 클래스의 재사용 및 확장이 용이해지므로, 코드의 중복을 줄일 수 있습니다. 또한 유사한 기능을 갖는 클래스들 간의 일관성을 유지하여 코드를 더 쉽게 이해하고 관리할 수 있습니다.

Java에서 상속은 객체 지향 프로그래밍을 구현하는 주요 기능 중 하나이며, 적절히 활용하면 코드의 재사용성과 유지보수성을 향상시킬 수 있습니다.

참고 자료