Overloading

less than 1 minute read

메서드 오버로딩

  • 오버로딩(overloading)?
    • 파라미터의 형식은 다르지만 같은 기능을 수행하는 메서드에 대해 같은 이름을 부여함으로써 프로그래밍의 일관성을 제공하기 위한 문법이다.
    • 같은 일을 하더라도 값의 타입에 따라 메서드 이름이 다르다면 사용하기가 번거로워서 만들어진 문법이다.
    • 파라미터의 타입이나 개수가 다르더라도 같은 일을 하는 메서드에 대해서는 같은 이름을 갖게 한다.
    • 호출하는 메서드 이름은 같지만 아규먼트의 타입이나 개수에 따라 호출되는 메서드가 결정된다.
    • 메서드를 찾을 때 아규먼트의 타입과 일치하는 메서드를 찾기 때문에 메서드의 파라미터 이름은 아무 상관이 없다.
    • 자식 클래스에서 부모 클래스에 있는 메서드와 같은 이름의 메서드를 만들어도 오버로딩이다. 물론 파라미터 형식은 달라야 한다.
    • println 이나 valueOf는 전형적인 오버로딩의 예이다.

Categories:

Updated: