Java] Overloading, 오버로딩
Overloading
Method 이름이 같아야 한다
매개변수의 갯수 또는 타입이 달라야 한다
리턴타입이 다른 경우는 오버로딩에 성립되지 않는다.
메서드 호출문을 기준으로 호출되어야할 메서드를 구분할 수 없기 때문이다.
1 | public class Test { |
이럴 경우에는 안될 것 같지만, 자동 형변환이 이뤄져서 5 97
이라는 결과값이 나오게 된다.
그렇다면 오버로딩을 해서 2번째 인자에 char형식을 받게 되면 어떠한 결과가 나올까?
1 | public class Test { |
결과값은 타입에 맞게 들어가서 5 a
가 나온다.
오버로딩의 가장 대표적인 Method로는 System.out.println()
이 있다.
참고. 생성자와 this
Constructor, 생성자
- 객체를 생성할 때 new 키워드와 함께 호출(객체 생성 외에는 호출X)
- 인스턴스를 초기화하는 코드가 구현됨(주로 멤버 변수 초기화)
- 반환값 X, 상속X
- 생성자는 클래스 이름과 동일
this
- 자신의 메모리를 가리킴 -> 인스턴스 변수
- 생성자에서 다른 생성자를 호출 -> super와 유사한 역할을 함
- 인스턴스 자신의 주소를 반환