프로그래밍/자바

[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!!"); }  // 상위 클래스의 메소드를 오버라이딩
}


메소드 오버로딩과 오버라이딩은 이름은 비슷하지만, 기능과 사용 상황이 많이 다르므로 이를 잘 구분하여 사용하시는 것이 중요합니다.

반응형