[Java] constructor, 생성자란 무엇인가?

생성자 constructor
자바에서 생성자는 클래스가 생성될 때 호출되는 메서드와 유사한 코드 블럭

 

 

- 객체를 초기화하는 데 사용됨.(객체의 필드 값을 설정)
- 클래스에 생성자가 없으면 Java 컴파일러가 default 생성자를 만듦.

📢 생성자 규칙

1. 생성자의 이름은 Class 이름과 동일해야 함.

class Bike{
    Bike(){} // 생성자
}


2. return 값이 없음.

- void 등 return type을 명시하면 안 됨.

3. abstract, final, static 키워드를 붙일 수 없음.

 

📔 생성자의 종류

1. 기본 생성자 - 파라미터가 없는 생성자
2. 파라미터가 있는 생성자

 

기본 생성자

- 객체 인스턴스 변수의 타입에 따른 default 값(0이나 null 등)으로 설정하기 위해 사용됨.

- 클래스에 생성자가 없으면 기본적으로 Java 컴파일러가 default 생성자를 만들어 줌.

 

class Bike{
	Bike(){
    }
}
public class Test{
    public static void main(String args[]){  
        //calling a default constructor  
        Bike b=new Bike();  
    }  
}

 

파라미터가 있는 생성자

- 객체 생성 시 인스턴스 변수를 특정 값으로 초기화하기 위해 사용됨.

- 기본 생성자로 객체 생성하면 그 이후 객체에게 일일이 값을 넘겨줘야 하는 불편함이 있을 수 있음.

- 이러한 불편함을 보완하기 위해 파라미터가 있는 생성자를 사용함.

 

class Bike{  
	int num;
    
	Bike(int num){
    	this.num = num;
    }
}
public class Test{
    public static void main(String args[]){  
        Bike b=new Bike(123);  
    }  
}

 

 


- 참고

Constructors in Java