본문 바로가기
공부중/혼자공부하는자바

생성자

by 식빵ee 2023. 12. 7.

객체 초기화
필드를 초기화하거나 메소드를 호출해서 객체를 사용할 준비를 하는 것을 말한다.
new연사자에 의해서 생성자가 성공적으로 실행되면 hip영역에 객체가 생성되고 객체의 번지가 리턴된다. 리턴된 객체의 번지는 클래스 변수(=필드)에 저장된다.

모든 클래스에는 생성자가 반드시 존재하고, 하나 이상 가질 수 있다.
클래스가 public class로 선언되면 기본 생성자에도 public이 붙지만 클래스가 public 없이 class로만 선언되면 기본 생성자에도 public이 붙지 않는다.


//기본생성자
public class Car{
public Car(){  } //자동추가
}

//기본 생성자 호출
Car myCar = new Car();

//명시적으로 선언한 생성자
public class Car{
Car(String model, String color, int maxSpeed){  }
}

//생성자 호출
Car myCar = new Car("그랜저","검정",300);


클래스로부터 객체가 생성될 때 필드는 기본 초기값으로 자동 설정된다.
만약 다른 값으로 초기화 하고 싶으면
1.필드를 선언할 때 초기값 주는 방법

public class Korean{
String nation ="대한민국";
String name ;
}


2.생성자에서 초기값을 주는 방법

public class Korean{
//필드
String nation = "대한민국";
String name ;

//생성자
public Korean(String n, String s) {
name = n;
ssn = s;
}
}


1번방법은 클래스로 생성되는 객체는 모두 같은 값을 갖게 된다. 물론 객체 생성 후 값을 변경할 수 있지만 객체 생성 시점에는 필드의 값이 모두 같다.
하지만 객체 생성 시점에 외부에서 제공되는 다양한 값들로 초기화되어야 하면 2번 방법을 사용해야한다.

'공부중 > 혼자공부하는자바' 카테고리의 다른 글

객체와 메모리 관계  (0) 2023.12.15
참조 타입과 참조 변수  (0) 2023.12.13
필드  (0) 2023.12.07
객체, 필드, 생성자, 메소드  (0) 2023.12.07
Eclipse 이클립스 단축키 정리  (0) 2023.07.12

댓글


post image post image post image post image post image post image post image post image