생성자의 매개변수의 유형과 개수가 다르게 해서 같은 이름의 생성자를 여러 개 가질 수 있다.
public class Car{
String name;
int number;
public Car (){
}
public Car(String name){
this.name = name;
}
public Car(String name, int number){
this.name = name;
this.number = number;
}
}
생성자도 메소드와 마찬가지로 여러개를 선언할 수 있으며
매개변수의 수와 타입이 다르다면 여러개의 생성자를 선언할 수 있다.
public class CarExam4{
public static void main(String args[]){
Car c1 = new Car();
Car c2 = new Car("경찰차");
Car c3 = new Car("견인차", 1234);
}
}
위의 코드들은 오버로딩된 생성자를 사용하는 방법이다.
그리고 this인 자기 생성자를 호출하는 방법도 있다.
public Car(){
this.name = "이름없음";
this.number = 0;
// 위와 같이 작성을 했을 때에는 코드의 중복이 일어나게 된다.
// 자바에서는 중복된 코드를 사용하면 안좋기 때문에 중복된 코드는 없애줘야한다.
public Car(){
this("이름없음", 0);
}
// 위와 같이 하면 자기 자신의 생성자를 호출하면서 비슷한 코드가 중복되서 나오는 것을 방지한다.
'Java' 카테고리의 다른 글
| 2022-08-24 자바 수업 문제 풀이 (0) | 2022.08.24 |
|---|---|
| Java(자바) - 클래스 간 공유 (extends 의 활용 정리) (0) | 2022.08.23 |
| Java(자바) 클래스 다듬는 생성자와 this , 메소드 오버로딩 (0) | 2022.08.17 |
| Java(자바) String클래스의 메소드와 변수의 scope 및 static (0) | 2022.08.16 |
| 자바 수업 내용 간단 정리 (클래스 기능 및 사용법) (0) | 2022.08.16 |
댓글