[Java] 클래스 - 생성자(Constructor)

chael_lo·2021년 5월 12일
0

Java

목록 보기
12/52

생성자(constructor)는 객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화할 수 있는 메소드다.

생성자의 특징

  1. 필드를 초기화하거나, 메소드를 호출하여 객체를 사용할 준비를 한다.
  2. 생성자는 클래스와 동일한 이름으로 되어있고 리턴 타입이 없다(= void나 자료형을 작성할 수 없다).
  3. 생성자 앞에는 접근 제어자가 올 수 있고 뒤에는 매개 변수를 추가할 수 있다.
  4. 클래스를 정의할 때 생성자를 생략하면 컴파일러가 자동적으로 기본 생성자를 생성하여 준다.
  5. 생성자를 실행시키지 않고는 클래스로부터 객체를 만들 수 없다.
  6. 리턴된 객체의 주소는 클래스 타입 변수에 저장되어 객체에 접근할 때 이용된다.

생성자 선언

  1. 매개변수가 없는 생성자 선언
public Member() {//기본 생성자(default constructor)와 생김새가 같다
		
}
  1. 매개변수가 있는 생성자 선언
private String id;
private int num;

public Member(String id, int num) {
    //인스턴스 변수를 초기화
    this.id = id;
    this.num = num;
}

생성자 호출

new 연산자를 이용하여 생성자를 실행하면 heap 메모리에 객체가 생성되고 객체 주소가 리턴된다.

Score ob = new Score(); //생성자의 호출

생성자 오버로딩

생성자는 메소드와 같이 오버로딩을 할 수 있다.
생성자 오버로딩이란 생성자의 매개변수를 다르게 지정하여 정의하는 것이다.

public class Member {//Member라는 이름을 가진 클래스
	public Member(매개변수: 자료형 변수명) {//클래스와 동일한 이름을 가진 생성자
		
	}
    
    	public Member(String id, int num) {//생성자의 매개변수를 다르게 지정(생성자 오버로딩)
		
	}
}
profile
천천히 꾸준히

0개의 댓글