[Java] Java 상속 (Inheritance)에 대한 이해 #12

소개

Java는 객체 지향 프로그래밍 언어로, Java 상속은 그 중 중요한 개념 중 하나입니다. 상속은 코드의 재사용성을 증가시키고 유지보수를 용이하게 만들어주는 핵심적인 기능 중 하나입니다. 이 글에서는 Java에서의 상속에 대해 자세히 알아보겠습니다.

[Java] Java 상속 (Inheritance)에 대한 이해 #12

상속의 기본 개념

상속은 객체 지향 프로그래밍에서 새로운 클래스가 이미 존재하는 클래스의 특성과 행동을 상속받는 개념입니다. 기존의 클래스를 부모 클래스 또는 슈퍼 클래스라고 부르고, 이를 상속받는 새로운 클래스를 자식 클래스 또는 서브 클래스라고 부릅니다.

자식 클래스는 부모 클래스의 모든 필드와 메서드를 상속받아 사용할 수 있습니다. 이로써 코드의 중복을 피하고, 유사한 기능을 가진 클래스 간에 일관성을 유지할 수 있습니다.

상속의 문법

Java에서는 extends 키워드를 사용하여 클래스 간의 상속을 정의합니다. 예를 들어, 다음은 부모 클래스와 자식 클래스의 간단한 예제입니다.

// 부모 클래스
class 부모클래스 {
    // 필드와 메서드 정의
}

// 자식 클래스가 부모 클래스를 상속받음
class 자식클래스 extends 부모클래스 {
    // 자식 클래스의 추가적인 필드와 메서드 정의
}

메서드 오버라이딩 (Method Overriding)

상속을 통해 자식 클래스는 부모 클래스의 메서드를 그대로 사용할 수 있습니다. 그러나 때로는 자식 클래스에서 특정 메서드의 동작을 변경하고 싶을 수 있습니다. 이때 메서드 오버라이딩을 사용합니다.

메서드 오버라이딩은 자식 클래스에서 부모 클래스의 메서드를 재정의하는 것입니다. 이를 통해 자식 클래스는 부모 클래스의 메서드를 자신의 필요에 맞게 수정할 수 있습니다.

class 부모클래스 {
    void 메서드() {
        System.out.println("부모 클래스의 메서드");
    }
}

class 자식클래스 extends 부모클래스 {
    // 부모 클래스의 메서드를 오버라이딩
    void 메서드() {
        System.out.println("자식 클래스의 메서드");
    }
}

super 키워드

자식 클래스에서 부모 클래스의 메서드를 호출해야 하는 경우가 있습니다. 이때 super 키워드를 사용합니다. super를 통해 부모 클래스의 메서드를 명시적으로 호출할 수 있습니다.

class 자식클래스 extends 부모클래스 {
    void 메서드() {
        super.메서드(); // 부모 클래스의 메서드 호출
        System.out.println("자식 클래스의 추가 동작");
    }
}

다중 상속의 제약

Java에서는 단일 상속만을 지원합니다. 즉, 한 클래스는 하나의 부모 클래스만을 가질 수 있습니다. 이는 다이아몬드 상속과 같은 문제를 방지하기 위함입니다.

결론 Java 상속

Java의 상속은 객체 지향 프로그래밍의 핵심 개념 중 하나로, 코드의 재사용성을 높이고 유지보수를 용이하게 만들어줍니다. 올바르게 사용하면 클래스 간의 관계를 명확히 하고, 일관성 있는 코드를 작성할 수 있습니다. Java에서는 상속 외에도 인터페이스와 같은 다양한 객체 지향 개념을 활용하여 더욱 강력하고 유연한 코드를 작성할 수 있습니다.

[Java] Java 클래스와 객체: 객체지향 프로그래밍의 핵심
[Java] Java 클래스와 객체: 객체지향 프로그래밍의 핵심
[Java] Java 다형성 (Polymorphism) #13
[Java] Java 다형성 (Polymorphism) #13

Leave a Comment