[설명]
[기능]
[특징]
객체를 생성할때 new 키워드 다음에 적음 ⇒ User user1 = new User();
참조변수를 통해 실행할 수 없음 ⇒ 참조변수.생성자메서드(); [실행불가합니다]
클래스에 생성자 메서드가 없으면 컴파일러가 기본생성자 메서드를 자동으로 추가 ⇒ public User() {}
생성자도 중복 정의가 가능
this 키워드가 함께 활용함
[This 키워드]
[This 필요성]
매개변수의 이름을 멤버변수와 같은 이름으로 붙이고자 할때 this를 사용함
메서드가 객체 자신의 레퍼런스를 리턴해야하는 경우에 this를 리턴함
[예제]
public String getName() {
return this;
}
[This() 메서드]
같은 클래스 내에 생성자가 다른 생성자를 호출할때 사용함
[예제]
public class User{
public String name;
public String phoneNumber;
public User() {
this("");
}
public User(String name, String phoneNumber) {
this.name = name;
this.phoneNumber = phoneNumber;
}
void print() {
System.out.println(name);
System.out.println(phoneNumber);
}
public static void main(String[] args) {
User user1 = new User("Test", "010-1234-5678");
user1.print();
// Test
// 010-1234-5678
}
}
[This() 유의]
[선언]
// 매개변수가 없는 생성자를 선언
클래스이름() { ... }
// 매개변수가 있는 생성자 선언
클래스이름(인수1, 인수2, ...) { ... }
[유의]
[설명]
[선언]
// Setter
public class User{
private String name;
private int age;
// Setter
public void setName(int age) {
this.age = age;
]
}
[설명]
[선언]
// Getter
public class User{
private String name;
private int age;
// Getter
public void getName() {
return name;
]
}