프로그래밍/자바
[Java] 메소드 오버로딩, 오버라이딩
You_mool
2024. 1. 4. 17:18
반응형
메소드 오버로딩(Method Overloading): 메소드 오버로딩은 같은 이름의 메소드를 여러 개 정의하는 것을 의미합니다. 매개변수의 유형이나 개수가 다르므로 컴파일러는 이를 서로 다른 메소드로 인식합니다. 이를 통해 프로그래머는 같은 이름의 메소드를 사용하면서도 다양한 유형의 작업을 수행할 수 있습니다.
예시:
void func() { ... }
void func(int a) { ... }
void func(double a) { ... }
메소드 오버라이딩(Method Overriding): 메소드 오버라이딩은 상속 관계에 있는 클래스에서 같은 이름과 매개변수를 가진 메소드를 재정의하는 것을 의미합니다. 이를 통해 하위 클래스는 상위 클래스의 메소드를 본인의 필요에 맞게 변경하여 사용할 수 있습니다. 이런 방식은 객체 지향 프로그래밍의 주요 특징 중 하나인 다형성을 구현하는 데 사용됩니다.
예시:
class Parent {
void func() { System.out.println("Parent Speaking"); }
}
class Child extends Parent {
@Override
void func() { System.out.println("Child Speaking!!"); } // 상위 클래스의 메소드를 오버라이딩
}
메소드 오버로딩과 오버라이딩은 이름은 비슷하지만, 기능과 사용 상황이 많이 다르므로 이를 잘 구분하여 사용하시는 것이 중요합니다.
반응형