오버로딩(Overloading)

Sia·2023년 9월 6일
0

오버로딩이란!

한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 기법을
'오버로딩(overloading)'이라고 한다.

오버로딩을 하기 위해서!

같은 이름의 메서드를 정의한다고 해서 무조건 오버로딩인 것은 아닙니다.

오버로딩이 성립하기 위해서는 다음과 같은 조건을 만족해야합니다!

  1. 메서드 이름이 같아야 합니다!

    위 설명으로 말한 것 처럼 같은 이름의 메서드를 여러개 정의하는 기법이다보니 당연히 메소드 이름은 같아야합니다!!!

  2. 매개변수의 개수 또는 타입이 달라야 한다.

    여기서! 메소드 이름으로 비교하는 것이 아닌 메소드에 있는 매개변수 개수 또는 타입으로 구분하기 때문입니다!

위의 조건을 만족시키지 못하는 메서드는 중복 정의로 간주되어 컴파일 시에 에러가 발생한다.

오버로딩된 메소드 사용시, 전달된 값의 타입 혹은 개수로 구분하여 알맞은 메소드가 자동으로 호출됩니다!

오버로딩의 예시!

아래 사진과 같이 같은 이름으로 선언 하였지만 오류가 발생하지 않습니다!

하지만 빨간 밑줄 부분을 보시면 매개변수가 같기 때문에 보시는 것과 같이 에러 가 발생합니다!

TIP!!!

생성자 같은 경우에도 중복으로 생성이 가능하다! 조건은 오버로딩 과 같습니다!!

또한 생성자 한개로 여러번 선언이 가능합니다!

0개의 댓글