본문 바로가기
프로그래밍 언어/java

[java] 클래스 생성자

by m2162003 2021. 2. 24.

생성자

객체 초기화 방법이라고 생각하면 된다.

 

  • 객체 생성 시 new 키워드와 함께 호출된다.
  • 인스턴스를 초기화한다. (주로 멤버 변수를 초기화)
  • 반환 값이 없고 상속되지 않는다.
  • 클래스 이름과 동일하다.
  • 하나의 클래스에는 반드시 하나 이상의 클래스가 존재하야 하며
  • 프로그래머가 구현하지 않으면 컴파일러가 default constructor를 만들어준다.
public class Subject {
	int subjectID;
	int score;
	
	//default
	public Subject() {};
    
    //custom
	public Subject(int id, int score) {
		this.subjectID = id;
		this.score = score;
	}
}

 

default constructor

매개변수가 없고 구현부가 없는 기본 생성자

만약 클래스에 다른 생성자가 있으면 default constrcutor는 제공되지 않아서 따로 선언이 필요하다.

 

Contructor Overloading 생성자 오버로딩

그렇다면 위에 코드처럼 생성자가 두 개 이상이 있으면 어떻게 될까?

사용자가 여러 개 중 하나의 생성자를 선택할 수 있다.

private 변수도 생성자를 이용하여 초기화 가능하다.

public static void main(String[] args) {
		
        //둘 다 가능하다.
		Subject korea = new Subject();
		Subject math = new Subject(1,10);
}

 

'프로그래밍 언어 > java' 카테고리의 다른 글

[java] this와 참조자료형  (0) 2021.02.24
[java] 접근 제어자, 정보 은닉  (0) 2021.02.24
[java] 클래스와 인스턴스  (0) 2021.02.22
[java] Optional과 orElse 시리즈  (0) 2020.10.08
[java] extends vs implements  (0) 2020.10.02

댓글