본문 바로가기
JAVA

[JAVA] 오버라이딩 & 오버로딩 (Overriding & Overloading)

by 개발자신입 2024. 1. 1.
반응형

오버라이딩과 오버로딩의 개념

자바 프로그래밍에서 메서드 오버라이딩과 메서드 오버로딩은 객체지향 프로그래밍의 핵심 개념 중 하나로, 코드의 유연성과 재사용성을 높이는 데 기여합니다. 이 두 가지 개념은 자바 언어의 강력한 기능 중 하나로, 올바르게 사용되면 효과적인 소프트웨어 개발을 도울 수 있습니다.


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

메서드 오버라이딩은 자식 클래스에서 부모 클래스의 메서드를 다시 정의하는 과정입니다. 이는 상속 관계에서 자주 발생하며, 자식 클래스는 부모 클래스의 메서드를 그대로 사용하지 않고 필요에 따라 재정의할 수 있습니다. 메서드 시그니처는 동일하게 유지되어야 하며, 자식 클래스에서의 구현이 부모 클래스의 구현을 대체합니다.

 

class 부모클래스 {
    void 메서드명() {
        // 부모 클래스의 구현
    }
}

class 자식클래스 extends 부모클래스 {
    void 메서드명() {
        // 자식 클래스에서의 재정의된 구현
    }
}

 

 

메서드 오버로딩 (Method Overloading)

메서드 오버로딩은 동일한 클래스 내에서 메서드의 이름은 같지만 매개변수의 유형, 개수, 또는 순서가 다른 여러 버전을 가질 수 있는 기능입니다. 이는 다양한 상황에 대응하기 위해 여러 형태의 입력을 허용하고자 할 때 유용합니다.

 

class 예제클래스 {
    void 메서드명(int a) {
        // 매개변수가 int 형일 때의 구현
    }

    void 메서드명(double b) {
        // 매개변수가 double 형일 때의 구현
    }

    void 메서드명(String c, int d) {
        // 매개변수가 String과 int 형일 때의 구현
    }
}

 

 

간단히 말해, 오버라이딩상속 관계에서 부모 클래스의 메서드를 자식 클래스에서 재정의하는 것이며, 오버로딩같은 클래스 내에서 메서드 이름이 같지만 시그니처가 다른 여러 메서드를 정의하는 것입니다. 둘 다 다형성을 촉진하고 코드의 재사용성을 높이는 데 도움을 줍니다.

 

자바에서는 메서드 오버라이딩과 오버로딩을 적절히 활용하여 유연하고 효과적인 코드를 작성할 수 있습니다. 이러한 객체지향 프로그래밍의 핵심 개념을 이해하고 적용함으로써, 높은 수준의 소프트웨어 개발 실력을 키울 수 있을 것입니다.

반응형

댓글