Jave & Kotlin

JAVA - 하드코딩을 피하기 위한 자바의 상수 만들기

devLog by Ronnie's 2021. 11. 1. 22:36

들어가며


하드코딩을 피하기 위한 자바의 상수 만들기에 대해 알아본다.

 

 

하드코딩


코딩을 하다보면 다들 한번씩 하드코딩을 피하라는 말을 들은 적이 있을 것이다. 

하드 코딩이란 변수에 값을 그냥 넣는 것을 의미한다. 혼자 진행하는 프로젝트면 모를까 협업한다면 하드코딩은 무조건 피하는 것이 좋다. 값의 의미를 알 수가 없고 프로젝트의 규모가 커지면 유지보수할때 매우 어려워지기 때문이다. 

 

상수


상수란 항상 변하지 않는 값을 상수라고 한다. 즉, 초기화되는 순간 그 값을 바꾸지 못한다.

자바에서의 상수는 final 예약어를 사용해서 선언한다. final이라는 단어에서도 알 수 있듯이 마지막으로 정했으니 값을 변경할 수 없다! 라고 외우면 쉽다.

 

 

상수 컨벤션


각각의 언어마다 코딩 컨벤션이 존재한다. 그안에는 네이밍도 포함이다. 자바에서의 상수 네이밍 방법은 static final 이 붙은 클래스 상수는 대문자 언더스코어를 사용한 네이밍 규칙을 따른다. 

 

public static final int MIN_NUM = 1;

public static final int MAX_NUM = 1000;

 

선언 방법은 다음과 같이 하면 된다. 이렇게 하면 이점이 있다. 바로 변수명을 보고 의도를 파악할 수 있다는 점이다. 예를 들어서 이렇게 상수로 선언한 것이 아닌 하드코딩을 하여 1이라는 값을 줬다고 해보자. 자신이 코딩한 것이라면 당연 1이라는 값이 최소값을 의미하는 것을 알고 있겠지만 제 3자가 봤을때는 1이라는 숫자를 보고 이게 최소값 역할을 하는 것인지 바로 판단하는 것은 불가능할 것이다. 하지만 저렇게 상수에 네이밍을 줘서 선언한다면 MIN이라는 단어를 보고 최소값이라는 것을 판단할 수 있다.

 

결론


하드 코딩하지 말자..! 그리고 컨벤션을 잘 지키자~