개발공부

JAVA쪼렙탈출기: final

Yuniverse. 2023. 6. 16. 10:17
Python과 SQL만 써본 주니어 분석가. '개발공부를 해보고 싶다', '개발도 공부하긴 해야하는데...'는 말만 한지 어연 1년이 넘어가는 중, 이대로는 안되겠다 싶어 냅다 JAVA 수업 수강에 카드를 긁었다. 쪼렙 중의 쪼렙이 JAVA를 배워나가는 여정을 "JAVA 쪼렙 탈출기"라는 시리즈로 남길 예정이다.

 

final

public class FinalEx {
	
	private final int A; // 이 코드만 쓰면 Error. final이 포함된 멤버필드는 생성자에서 초기화를 반드시 해줘야한다. -> 코드1을 작성하고 나면 에러가 뜨지 않는다.
	private final int B = 2; // 이런식으로 아예 만들때부터 초기화를 해주는 것도 가능
	
	// 코드 1 : 생성자 내에서 A 초기화
	public FinalEx() {
		A = 1;
	}
	
	private static final int C; // static과 final을 동시에 쓸 수 있다. -> 이 경우엔 생성자가 아닌 static area에서 초기화를 해줘야한다.
	// static area에서 C 초기화
	static {
		C = 3;
	}
	
	private static final int D = 4; // B와 마찬가지로 만들면서 동시에 초기화하는 것도 가능

}
public class FinalTest {
	
	public static void main(String[] args) {
		
		final double PI;
		PI = 3.141592;
		// PI = 3.14; Error. final 선언된 변수는 한 번 값을 설정하고 난 이후에는 수정할 수 없다.
		
		final int TEN = 10;
		// TEN = 1; Error
		
	}

}