객체 초기화
필드를 초기화하거나 메소드를 호출해서 객체를 사용할 준비를 하는 것을 말한다.
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 |
댓글