오버로딩(overloading)

roglog·2021년 6월 14일
0

java의 정석

목록 보기
8/36

1. 오버로딩(or 메서드오버로딩)이란?


  • 한 클래스 내에 같은 이름의 메서드를 여러 개 정의 하는 것

2. 오버로딩의 조건


  1. 메서드 이름이 같아야 한다.
  2. 매개변수의 개수 또는 타입이 달라야 한다.

*return값은 오버로딩을 구현하는데 아무런 영향을 주지 못함


3. 오버로딩의 장점


  • 메서드의 이름만 보고도 '같은 기능을 한다'는 것을 예측할 수 있음
  • 메서드의 이름을 절약할 수 있음

4. 가변인자와 오버로딩


  • 메서드의 매개변수의 개수를 동적으로 지정해 줄 수 있는데 이 기능을 '가변인자(variable arguments)라고 함
    -'타입 ... 변수명'과 같은 형식으로 선언
  Ex)
  public PrintStream printf(String format, Object... args) { }
  • 가변인자 외에도 매개변수가 더 있다면, 가변인자를 매개변수 중에서 제일 마지막에 선언해야 함
  • 가변인자를 선언한 메서드를 오버로딩하면, 메서드를 호출했을 때 구별되지 못하는 경우가 발생하기 쉽기 때문에, 가능하면 가변인자를 사용한 메서드는 오버로딩하지 않는 것이 좋음

java의 정석 chapter6

profile
Full Stack Developer 📚

0개의 댓글