인스턴스 생성을 담당하는 것은 new 키워드이며, 생성자는 인스턴스 변수들을 초기화하는 데 사용되는 특수한 메서드라 할 수 있다.
생성자와 메서드는 두 가지의 차이점이 존재한다.
생성자의 이름은 반드시 클래스의 이름과 같아야 한다.
생성자는 리턴 타입이 없다.
void도 리턴타입이다.*('무엇인가를 리턴하지 않는다' 라는 의미를 가진 리턴타입이다.)
생성자도 오버로딩이 가능하다.
매개변수가 있는 생성자
this()
this() 메서드는 자신이 속한 클래스에서 다른 생성자를 호출하는 경우에 사용한다.
2가지 조건을 충족시켜야 한다.
1.this() 메서드는 반드시 생성자의 내부에서만 사용할 수 있다.
2.this() 메서드는 반드시 생성자의 첫 줄에 위치해야 한다.
------------------------2023.06.06 추가 정리---------------------------
위의 경우에서 this() 가 Example() 생성자를 불러온다.
즉,() 가 매개변수를 나타낸다.
---> 1번 생성자에서 2번 생성자를 호출하기 위해 this()를 사용하고 있다.
'()' 에 호출하고자 하는 생성자의 매개변수를 적어주면 된다.
this
car 클래스의 경우처럼 인스턴스 변수와 생성자의 매개변수의 이름이 일치하여 구분이 어려운 경우 구분해주기 위한 용도로 this가 사용된다.
this는 인스턴스 변수를 나타내며 우리가 참조변수를 통해 인스턴스의 멤버에 접근할 수 있는 것처럼 this를 통해서 인스턴스 자신의 변수에 접근할 수 있는 것이다.