[Java] 클래스 - 생성자(Constructor)
생성자(constructor)는 객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화할 수 있는 메소드다.
생성자의 특징
- 필드를 초기화하거나, 메소드를 호출하여 객체를 사용할 준비를 한다.
- 생성자는 클래스와 동일한 이름으로 되어있고 리턴 타입이 없다(= void나 자료형을 작성할 수 없다).
- 생성자 앞에는 접근 제어자가 올 수 있고 뒤에는 매개 변수를 추가할 수 있다.
- 클래스를 정의할 때 생성자를 생략하면 컴파일러가 자동적으로 기본 생성자를 생성하여 준다.
- 생성자를 실행시키지 않고는 클래스로부터 객체를 만들 수 없다.
- 리턴된 객체의 주소는 클래스 타입 변수에 저장되어 객체에 접근할 때 이용된다.
생성자 선언
- 매개변수가 없는 생성자 선언
public Member() {//기본 생성자(default constructor)와 생김새가 같다
}
- 매개변수가 있는 생성자 선언
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) {//생성자의 매개변수를 다르게 지정(생성자 오버로딩)
}
}
Author And Source
이 문제에 관하여([Java] 클래스 - 생성자(Constructor)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jcrs0907/constructor저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)