본문 바로가기
Java

Java(자바) 생성자 오버로딩 및 this와 패키지

by allwing12 2022. 8. 17.

생성자의 매개변수의 유형과 개수가 다르게 해서 같은 이름의 생성자를 여러 개 가질 수 있다.

 

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);
    }
    
 // 위와 같이 하면 자기 자신의 생성자를 호출하면서 비슷한 코드가 중복되서 나오는 것을 방지한다.

 

댓글