오버로드(Overload)

이동현·2023년 7월 17일
0

Java

목록 보기
14/24

📕 오버로드

1. 메서드 오버로드(Overload)

  • 원칙적으로 하나의 클래스 안에서는 동일한 이름의 메서드가 두 개 이상 존재할
    수 없지만, 이를 가능하게 하는 예외적인 처리 기법

2. 이름이 동일한 메서드를 정의하기 위한 조건

  • 메서드간의 파라미터가 서로 달라야 한다.
    -> 파라미터의 데이터 타입이 다르다.
    (데이터 형이 동일하고 변수의 이름이 다른 경우는 동일한 파라미터로 인식된다)
    -> 파라미터의 개수가 다르다
    -> 서로 다른 데이터형을 갖는 파라미터들의 전달 순서가 다르다.
  • 리턴형이 다른 경우는 오버로드의 성립에 아무런 영향을 주지 않는다.

3. 오버로드의 예시

  • 파라미터의 데이터 형이 서로 다르기 때문에 오버로드 성립

    public void user(int a){...}
    public void user(String a){...}
  • 파라미터의 계수가 서로 다르기 때문에 오버로드 성립

    public void user(int a){...}
    public void user(int a, int b){...}
  • 데이터 형의 전달 순서가 서로 다르기 때문에 오버로드 성립

    public void user(int a, String b){...}
    public void user(String a, int b){...}
    
    public void user(int a){...}
    public void user(int b){...}

4. 생성자의 Overload

  • 생성자 역시 메서드의 한 종류이므로 Overload가 가능하다
  • 생성자를 Overload 할 경우, 해당 클래스에 대해 '객체를 생성하는 방법'을
    다양하게 준비할 수 있게 된다.

5. this 키워드를 사용한 생성자 Overload

  • this 키워드의 용법
    -> 메서드처럼 사용할 경우, 현재클래스의 다른 생성자를 의미한다.
  • this 키워드를 사용하여 생성자 Overload를 간결하게 처리하기
    -> 파라미터가 서로 다른 생성자들이 하나의 완전한 생성자를
    호출하도록 하여, 데이터의 초기화를 한 곳에서 일괄적으로
    처리하도록 구현할 수 있다.

0개의 댓글

관련 채용 정보