-
(JAVA) 자바 상수 (final) 사용이유와 방법JAVA/컨셉 , 예제 2018. 8. 24. 13:28
3개의 숫자를 입력받아 합계와 평균을 출력하는 프로그램은 다음과 같다.
20번째 줄에서 평균을 구할 때 직접 숫자를 넣어 값을 구하고 있다. 짧은 코드라면 큰 지장이 없겠지만, 코드가 방대해지면 이 3의 의미를 알기 힘들어지고 잘못 수정하는 경우 원하는 결과를 얻지 못할 우려가 있다. 이를 방지하기 위해 3과목의 평균을 구하는 역할만을 한다면 3을 상수로 저장해 이후 수정을 하지 못하도록 final 키워드를 제공하고 있다.
import java.util.Scanner; public class Final { void printfSumAndAverage(){ final int CLASS_CNT = 3; Scanner input = new Scanner(System.in); System.out.println("Input 3 numbers"); double num1 = input.nextDouble(); double num2 = input.nextDouble(); double num3 = input.nextDouble(); double sum = num1 + num2 + num3; System.out.println("sum : " + sum); double avr = (num1 + num2 + num3) / CLASS_CNT; System.out.println("avr : " + avr); } }final 예약어를 이용해 CLASS_CNT 변수를 선언한다.
상수임을 표현하기 위해 모두 대문자로 입력한다. 이렇게 하면 카멜케이스처럼 대소문자로 단어의 구분을 할 수 없기 때문에 단어 사이를 '_'로 구분하도록 작명한다.다음과 같이 CLASS_CNT에 값을 처음 할당하면 이후에 해당 변수의 값을 변경할 때 에러가 발생하게 된다. 의도치 않은 값의 변경을 사전에 예방하는데 효과적이다.
'JAVA > 컨셉 , 예제' 카테고리의 다른 글
(JAVA) 자바 스캐너(Scanner)로 파일 내용 읽어오기 (0) 2018.08.24 (JAVA) 자바 래퍼(Wrapper) 클래스 (0) 2018.08.24 (JAVA) 자바 형변환 ( Type Casting ) (0) 2018.08.24 (JAVA) 자바 변수의 범위(Scope)와 참조 & this (0) 2018.08.24 (JAVA) 자바 클래스와 객체 (0) 2018.08.24