🔥 Vamos/Java
1022 | 자바의 정석 예제 :: 생성자를 이용한 final 멤버변수 초기화
unikue
2022. 10. 23. 15:39
final이 붙은 변수= 상수이므로 일반적으로 선언과 초기화를 동시에 한다.
그러나 인스턴스 변수는 생성자에서 초기화 가능하므로,
클래스 내에 매개변수를 갖는 생성자 생성 👉 인스턴스 생성시 초기화 필요값을 생성자로부터 제공받음.
👉 각 인스턴스마다 final이 붙은 멤버변수 (상수)가 각각 다른값을 가지게 됨.
class Card {
final int NUMBER; // 상수지만 선언과 함께 초기화 하지 않고 인스턴스 생성시 생성자로부터 초기화값을 제공받음
final String KIND;
static int width = 100; // 인스턴스 생성 전부터 세팅되는 값
static int height = 250;
Card(String kind, int num){
KIND = kind;
NUMBER= num;
}
Card(){
this("HEART",1);
}
public String toString() {
return KIND+" "+NUMBER;
}
}
class BookEx{
public static void main(String[] args) {
Card c = new Card("HEART",10);
System.out.println(c);
Card d = new Card("DIAMOND",2);
System.out.println(d);
}
}
final과 static모두 개념적인 부분만 자꾸 떠올라서 활용법을 인지하기 위해 남기는 글.