앞에 설명한 변수는 값이 변하기 때문에 변수 라 부른다 하지만 상수는 변하지 않는 값을
의미하는 단어이다
예를 들어 정수형 i 를 선언 하고 숫자 1 을 넣어준다면
int i = 1;
i 는 1이라는 값을 갖고 있을것이다
그 이후 i의 값을 변경해보면 정상적으로 값이 변경됨을 확인 할 수 있다
i = 3;
System.out.println(i);
>>> 3
이와같이 정상적으로 출력 됨을 확인 할수 있다
하지만 변수 i의 선언을 상수로 선언을 하게 되면 값을 변경 할 수 없다
public final int I = 2;
상수는 변하지 않는 값을 칭하는 것이다 예를들어 우리가 웹개발을 진행 한다고 하자
그렇다면 <img> 태그나 <a> 태그의 경로를 자주 집어넣게 되는데
항상 같은 경로가 들어가는 경우가 있을것이다
예를 들어 img 경로가
gande/images/icon/test.png 라고 하자
내가 작업 하고 있는 페이지가 아이콘을 여러개를 삽입 해야하는 페이지 라면
gande/images/icon/test.png
gande/images/icon/head.png
gande/images/icon/icon_left.png
gande/images/icon/icon_top.png
...
이런 식으로 사용 하게 될것이다 하지만 이것을 상수로 초기화 해놓게되면
코드의 길이가 바뀌게 될것이다 이것을 가볍게 생각 하면 안된다 실무에 투입하게 되면 이보다 더 긴 경로가
여러분을 기다리고 있을것인데 여러개의 jsp 페이지에서 저 경로를 하나하나 다 지정하면 힘들어 질것이다
그리고 회사에서 디렉토리명을 변경하자고 한다 그 이유는 기구축 한 프로젝트와 신규 프로젝트의 코어단이
비슷하여 그대로 써도 된다고 하는 말이다 즉 리펙토링을 해야 한다는것이다
한마디로 새로 만드는 프로젝트가 전에 만들어 놓은 프로젝트가 비슷하니 이름만 바꿔서 납품하자!
이것은 실제로 빈번히 일어나는 일이다 모든 회사들이 기능을 컴포넌트화 해서 작업하지 않는다
이게 회사 규모가 더 작으면 작을수록 그럴 시간 능력이 없다
그럼 이 상황에서 저 모든 경로들을 바꿔야 하는것이다
그렇지만 상수로 지정한 후 경로를 지정 했다면 말은 달라진다 상수의 값 하나만 변경하면
간단한 이야기다 ( 스프링 프레임 워크에서는 다른 방식으로 프로퍼티들을 설정한다 )
public static final String path = "gande/images/icon/";
초기화 후
<img src="${path}test.png">
이와 같이 사용할 수 있다
(저 path를 표현한 방법은 추후에 설명하도록 하겠다)
이처럼 변하지 않는 값을 주고 어디에서나 사용해야 한다면
public static final 키워드를 사용해서 상수로 지정해야 한다
public 과 static 은 여러분이 찾아보길 바란다 상수로 지정하는 키워드는
final 일뿐이다
상수에대한 기억은 변하지 않는 값! 어디서나 사용하길 원한다면 public static 추가!
'Developer > Java' 카테고리의 다른 글
[java]기초 자바 용어 (0) | 2022.06.08 |
---|---|
[java]메모장으로 작성된 자바코드 컴파일 하는법 (0) | 2022.06.07 |
[java]변수 (0) | 2022.05.27 |
[java]자료형 (0) | 2022.05.26 |
[java]기본구조 (0) | 2022.05.25 |