[Java] 생성자(Constructor)

JUNBEOM PARK·2022년 2월 8일
0

🧨 Java

목록 보기
16/33
post-thumbnail

🤔 생성자(Constructor) 란?

생성자는 new 연산자 를 통해서 인스턴스를 생성할 때 반드시 호출이 되고 제일 먼저 실행되는
일종의 메소드 이다. (하지만 기존의 우리가 알고 있는 메소드와는 다르다.)
생성자는 인스턴스 변수를 초기화 시키는 역할을 한다.



😋 생성자 선언 방법


public 클래스(매개변수) {
		...
}

생성자를 선언하는 방법은 위에 코드와 같다. 클래스라는 부분은 생성자를 정의하는 클래스의 이름과 동일하게 선언해야 한다. 그리고, 리턴타입을 정의하지 않는다.(void 포함)

	//생성자 : 객체를 초기화 하기 위해서
	public Account(String accountNo, String ownerName, int balance) {
		this.accountNo = accountNo;
		this.ownerName = ownerName;
		this.balance = balance;
	}

this. 는 객체 자신의 참조이고, 자신을 "나"라고 하듯 객체가 객체 자신을 this 라고 칭한다.

생성자는 객체가 생성될 때 호출된다. 즉, 생성자는 다음과 같이 new 연산자가 사용될 때 호출 된다.


public static void main(String[] args) {

Account account1;
account1 = new Account("11111-11111", "홍길동", 1000);

}

😉 생성자 오버로딩(Overloading)

외부에서 제공 되는 다양한 데이터들을 이용해서 객체를 초기화 하려면 생성자도 다양화 될 필요가 있다.
Java는 다양한 방법으로 객체를 생성할 수 있도록 생성자 오버로딩을 제공한다.

생성자 오버로딩 : 매개 변수를 달리하는 생성자를 여러 개 선언이 가능하도록 하는 것

	public Account() {
		
	}
	
	public Account(String accountNo, String ownerName) {
		this.accountNo = accountNo;
		this.ownerName = ownerName;
	}
    
	public Account(String accountNo, String ownerName, int balance) {
		this.accountNo = accountNo;
		this.ownerName = ownerName;
		this.balance = balance;
	}

생성자 오버로딩시 주의 할 점

매개 변수의 타입과 갯수, 선언된 순서가 똑같을 경우
매개 변수 이름만 바꾸는 것은 생성자 오버로딩으로 볼 수 없다.

생성자가 오버로딩 되어 있는 경우, new 연산자로 생성자를 호출 할 때,
제공되는 매개값의 타입과 갯수에 의해 호출될 생성자가 결정 된다.

profile
DB 엔지니어👍

0개의 댓글