static final int MAX_USERS 라는 변수를 예를 들어본다
package final1;
public class ConstantMain {
public static void main(String[] args) {
System.out.println("프로그램 최대 참여자 수"+ 1000);
int currentUserCount = 999;
process(currentUserCount++);
process(currentUserCount++);
process(currentUserCount++);
}
private static void process(int currentUserCount){
System.out.println("참여자 수:"+currentUserCount);
if(currentUserCount>1000){
System.out.println("대기자로 등록합니다.");
}else{
System.out.println("게임에 참여합니다.");
}
}
}
이런 프로그램을 돌리는데 static final 변수를 사용하지 않고 그저 1000만 사용한다고 했을때 다음 유지보수가 빡세진다 왜냐면 그 다음 개발자는 1000이 무슨 의미인지 알수가 없을 것이고 그리고 의미를 이해한다 하여도 1000에서 2000으로 바꾸는 상황에는 1000으로 입력된 모든 코드를 2000으로 직접 수정해야하기 때문이다 이때문에
static final int MAX_USERS = 2000;
위코드를 을 사용하게되면
package final1;
public class Constant {
public static final int MAX_USERS = 2000;
}
package final1;
public class ConstantMain {
public static void main(String[] args) {
System.out.println("프로그램 최대 참여자 수"+ Constant.MAX_USERS);
int currentUserCount = 999;
process(currentUserCount++);
process(currentUserCount++);
process(currentUserCount++);
}
private static void process(int currentUserCount){
System.out.println("참여자 수:"+currentUserCount);
if(currentUserCount>Constant.MAX_USERS){ // 코드 가독성 확보
System.out.println("대기자로 등록합니다.");
}else{
System.out.println("게임에 참여합니다.");
}
}
}
프로그램 최대 참여자 수2000
참여자 수:999
게임에 참여합니다.
참여자 수:1000
게임에 참여합니다.
참여자 수:1001
게임에 참여합니다.
이렇게 바뀌게 되어 유지보수와 코드가독성 확보가 가능하게 된다 따라서 공용 변수를 필수로 사용하는 것이 좋아보인다
==> 상수 중앙 관리의 중요성
'JAVA' 카테고리의 다른 글
[JAVA] 다형성1 (0) | 2025.02.18 |
---|---|
[JAVA] 상속 (0) | 2025.02.14 |
[JAVA] OptionalInt 사용법 - 최솟값, 최댓값 뽑을 때 (Feat. stream) (0) | 2025.02.07 |
[JAVA] 숫자 형변환 - int형의 나눗셈으로 double형 유리수 만들기 (3) | 2025.02.07 |
[JAVA] 자바의 메모리 구조 (1) | 2025.02.05 |