Published 2022. 6. 3. 10:52
반응형

앞에 설명한 변수는 값이 변하기 때문에 변수 라 부른다 하지만 상수는 변하지 않는 값을 

의미하는 단어이다 

 

예를 들어 정수형 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
복사했습니다!