
1. 오버로드
1-1. 메서드 오버로드(overload)
1-2. 이름이 동일한 매서드를 정의하기 위한 조건
메서드간의 파라미터가 서로 달라야 한다.
-> 파라미터의 데이터 타입이 다르다.
(데이터 형이 동일하고 변수의 이름이 다른 경우는 동일한 파라미터로 인식된다)
-> 파라미터의 개수가 다르다
-> 서로 다른 데이터형을 갖는 파라미터들의 전달 순서가 다르다.
리턴형이 다른 경우는 오버로드의 성립에 아무런 영향을 주지 않는다.
1-3. 오버로드의 예시
파라미터의 데이터형이 서로 다르기 때문에 오버로드 성립
public void plus(int a){...}
public void plus(boolean b){...}
파라미터의 개수가 서로 다르기 때문에 오버로드 성립
public void user(int a){...}
public void user(int a, int b)}{...}
데이터형의 전달 순서가 서로 다르기 때문에 오버로드 성립
public void user(int a, boolean b){...}
public void user(boolean a, int b){...}
아래는 오버로드 성립 안함
plus(int a, int b){...}
plus(int b, int a){...}
아래는 오버로드 성립함
plus(int a, String b, int c){}
plus(int a, int c, String b){}
아래는 오버로드 성립함
plus(int a){...}
plus(int a, int b){...}
1-4. 오버로드의 예시
1-5. 생성자의 overload
1-6. this 키워드를 사용한 생성자 overload
this 키워드의 용법
-> 매서드처럼 사용할 경우, 현재 클래스의 다른 생성자를 의미한다.
this 키워드를 사용하여 생성자 overload를 간결하게 처리학기
-> 파라미터가 서로 다른 생성자들이 하나의 완전한 생성자를 호출하도록 하여 데이터의 초기화를 한 곳에서 일괄적으로 처리하도록 구현할 수 있다.