-
Java 상수 ( final은 무엇인가 )Knowledge/Java 2019. 10. 10. 00:00반응형
Java에서의 상수 선언은 기본적으로 변수 선언과 크게 다르지 않다.
변수는
12int i;// 변수 i 선언이렇게 데이터 타입 + 변수 이름의 조합으로 선언한 변수 앞에
12final int j;// 상수 j 선언이렇게 final만 붙이면 상수가 선언된다.
대신 대문자 명명규칙과 띄어쓰기가 필요한 경우 _을 쓸 것을 권장하니
123final int J;이렇게 선언하자.
이 상수는 변수와 달리 한번 값을 할당하면
다시는 값을 할당할 수 없는데
이런 상수를 어디다 쓸까?
크게 두가지다
1. 값이 변하면 위험한 경우
2. 값만 봤을때 무엇을 의미하는지 쉽게 파악할 수 없는 값을 사용할 때
1의 경우는 로직에 원주율을 사용해야 하는 경우를 가정하여 예를 들어보자
이럴 때 원주율 값이 변해버리면 계산에 착오가 생길 수 있다.
그렇기 때문에
1final double PI = 3.141592653589793;위와 같이 원주율 값을 PI 상수로 선언하여 사용하면 값이 변할 위험을 없앨 수 있다.
2의 경우는 기름 값으로 특정 연산을 해야 한다는 상황을 가정해서 예를 들어보자.
그런데
1System.out.println(5 * 1390);이렇게 적어놓으면 코드를 직접 짜지 않은 사람들은 ( 아마 코드를 짠 사람도 몇 달 뒤에 저 1390을 보면 저게 뭐지 할지도 모른다 ) 저 1390이 무슨 값을 의미하는지 알기 힘들 것이다.
이럴 때
12345final int OIL_PRICE = 1390;// 기름 값을 의미하는 상수를 선언하고System.out.println(5 * OIL_PRICE);// 그 변수를 연산에 사용하면 코드의 의미가반응형'Knowledge > Java' 카테고리의 다른 글
JAVA - 증감 연산자를 앞에 붙일 때와 뒤에 붙일 때의 차이! ( 선위 증감연산자 / 후위 증감연산자 ) (0) 2019.10.10 Java 변수, 리터럴, 자료형, 형변환 (0) 2019.10.09 더 빠르게 입력받고 출력해보자 BufferedReader/BufferedWriter (0) 2019.09.04 Java에서 날짜를 편하게 쓰자! LocalDate (0) 2019.09.04