CoDream

오버로딩(Overloading)과 오버라이딩(Overriding) 본문

JAVA/JAVA 이론

오버로딩(Overloading)과 오버라이딩(Overriding)

코잠 2024. 2. 22. 14:20
728x90
반응형

오버로딩(Overloading)과 오버라이딩(Overriding)

- 둘 다 객체 지향 프로그래밍에서 사용되는 중요한 개념이지만, 서로 다른 개념입니다.

  1. 오버로딩(Overloading):
    • 오버로딩은 같은 이름의 메서드를 여러 개 정의하는 것을 말합니다. 이 때 메서드들은 서로 다른 시그니처를 가져야 합니다. 시그니처란 메서드의 이름과 매개변수의 유형, 개수, 순서를 의미합니다. 오버로딩은 컴파일러에 의해 처리되는 정적 다형성(Static Polymorphism)의 한 형태입니다.
    • 오버로딩을 사용하면 같은 이름의 메서드를 여러 개 정의하여 코드의 가독성을 높일 수 있습니다. 예를 들어, 같은 기능을 수행하지만 다양한 매개변수를 받는 메서드들을 하나의 이름으로 표현할 수 있습니다.
  2. 오버라이딩(Overriding):
    • 오버라이딩은 상위 클래스에서 이미 정의된 메서드를 하위 클래스에서 다시 정의하는 것을 말합니다. 이 때 메서드의 이름, 매개변수, 반환 유형은 모두 동일해야 합니다. 오버라이딩은 런타임에 동적으로 결정되는 동적 다형성(Dynamic Polymorphism)의 한 형태입니다.
    • 오버라이딩을 사용하면 상속 관계에서 상위 클래스의 메서드를 하위 클래스에서 재정의하여 특정한 동작을 변경하거나 확장할 수 있습니다.

간단히 말해서, 오버로딩은 같은 이름의 메서드를 다양한 시그니처로 정의하는 것이고,

오버라이딩은 상위 클래스의 메서드를 하위 클래스에서 다시 정의하는 것입니다.

728x90
반응형