티스토리 뷰

▶자바에서 상수(Constant)란?

이번 글에서는 변수와는 조금 다른 성질의 상수에 대해 알아보도록 하겠습니다.

 

🔎 상수 ?


상수(Constant)란 변수의 반댓말로 항상 상(常)자를 사용하여

변하지 않고 고정된 값을 담는 변수를 의미합니다.

 

→ 변하지 않는 값을 사용하고 싶을 때 사용!

 

❓상수는 언제 사용하는가

프로젝트를 진행 시 프로그램에서 변하지 않고 고정된 값인 경우 상수를 선언하여 사용합니다.

ex. 에러코드/에러메시지를 보여줄 때, 프로그램의 기본적인 환결설정정보(DB정보, IP주소 정보 등)를 설정할 때 상수 사용

 

프로그램이 실행되고 끝날 때까지 변하지 않는 값일 경우 상술르 사용하면

다른 개발자가 보았을 때 가독성도 높여주고, 본인도 보기 편하게 작업을 할 수가 있습니다.

 

📌 상수 선언 - final

자바에서 상수를 선언할 때는 final을 사용하여 선언합니다.

 

final은 딱 한번만 할당할 수 있고 이후로 값을 변경하려고 시도하면 에러가 발생합니다.

 

보톤 상수를 선언할 때 static final을 사용하여 상수를 선언하게 되는데요.

final만 사용하면 변하지 않는 변수 상수를 의미하는데 static을 왜 사용하는지 알아보겠습니다.

 

📌 static

말 그대로 "정적이다"라는 의미를 가지고 있습니다.

static 멤버들은 클래스에 고정된 멤버입니다.

 

static 키워드를 사용하면

컴파일러가 가장 먼저 메모리에 할당을 해주게 됩니다.

 

static은 전역적으로 쉽게 재사용하는 잘 변하지 않는 변수나 메서드를 사용할 때 주로 사용합니다.

만들어놓고 클래스 호출, 객체 생성을 할 필요 없이 바로바로 사용할 수 있습니다.

 

자세히 알아보면,

static 키워드를 통해 생성된 정적멤버들은 Heap 영역이 아닌 Static 영역에 할당되게 됩니다.

 

Static 영역에 할당된 메모리는 모든 객체가 공유하여 하나의 멤버를 어디서든지 참조할 수 있는 장점을 가집니다.

그렇지만 이 멤버들은 프로그램의 종료시까지 메모리가 할당된 채로 존재하게 됩니다.

 

그렇기 때문에 Static을 너무 남발하게 되면 만들고자 하는 시스템 성능에 악영향을 줄 수 있습니다.

 

 

📌 상수 사용법(예제)

상수같은 경우 보통 class를 만들어서 비슷한 종류의 상수를 모아놓고, 필요할 때마다 해당 상수를 호출하여 사용해주는 것이 편한데요.

(public을 붙여서 어디에서나 접근이 가능한 접근제한임을 명시해 줍니다.)

 

상수 변수를 선언하는 경우 대문자로 선언을 해줍니다.

public class ConstantVO {
	public static final String HELLO_WORLD = "Hello World!!";
	public static final String ONE_PLUS_ONE = "1 + 1 = 2";
}

 

방금 선언한 상수를 다른 Class에서 호출해 봅시다.

public class ConstantTest {
	public static void main(String[] args) {
		System.out.println(ConstantVO.HELLO_WORLD + "\n");
		System.out.println(ConstantVO.ONE_PLUS_ONE + "\n");
	}
}

ConstantVO 클래스에서 상수를 호출하여 상수 값을 출력해 줍니다.

 

728x90
LIST
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함