본문 바로가기

컴퓨터언어/JAVA(자바)

[JAVA강좌] 8강 상수와 리터럴

728x90
반응형

 

 

 

 

- 이전 강좌까지는 변수와 그 변수의 특성을 나타내는 자료형에 대해 이야기했습니다. 

- 수학에서 변수는 변할지도 모르는 수를 의미합니다. 

- 근데 모든 값이 항상 변할지도 모르는 것은 아닙니다. 

- 원주율 같은 경우는  우리가 죽을 때까지 3.14로 변하지 않을 겁니다.

- 이렇게 프로그램 상에서 절대 바뀌지 않을 수를 상수(Constant)라고 합니다. 

- 그래서 이번 강좌에서는 상수를 배워보도록 하겠습니다. 

 

 

 

1. 상수(Constant)


- 자바에서 상수는 final이라는 키워드를 앞에 붙여서 사용합니다. 

- 상수 이름은 전부 대문자로 주료 사용하고, 여러 단어를 연결하는 경우에 _ 기호를 사용하는 것이 관례입니다.

 

 

1) 상수선언 문법

final 자료형 상수명 = 값;


ex)
final int MAX_NUM = 10;

 

- 변수 작성하듯이 작성하고 앞에 final을 붙여줍니다.

 

- 이제 예제를 실습해 보겠습니다. 

- 패키지(ch08_constant)과 클래스(Ex01_Constant.java)를 추가해 주세요. 

- 기초적 작업을 모르는 분은 아래 주소를 클릭하고 보고 오세요.

https://ossam5.tistory.com/613

 

[JAVA강좌] 1강 JAVA변수와 자료형

1. 프로젝트 패키지 생성 및 자바 파일 생성 - 앞으로의 강좌에서는 패키지 생성 및 자바 파일 생성하는 것을 보여드리진 않겠습니다. - 지금 잘 확인해 주시기 바랍니다. 1) 프로젝트 패키지 생성

ossam5.tistory.com

 

 

 

 

## 상수 선언 실습1 - Ex01_Constant.java

package ch08_constant;

public class Ex01_Constant {

	public static void main(String[] args) {
		//선언과 동시에 초기화
		final int MAX_NUM = 100;
		
		//선언만 처리
		final int MIN_NUM;
		
		//추후에 값을 대입
		MIN_NUM = 0;
		
		System.out.println(MAX_NUM);
		System.out.println(MIN_NUM);
	}

}

 

- 두개의 상수를 선언하고, MAX_NUM은 초기화하여 바로 값을 대입했습니다. 

- MIN_NUM은 추후에 값을 대입했습니다. 

- 하지만 사용 전에 값을 대입하지 않으면 오류가 납니다. 

- 값을 반드시 대입해야 합니다. 

 

- 그림을 보면 추후에 값을 대입한 MIN_NUM 앞에 주석을 달았습니다.

- 그랬더니 에러가 발생되는 것이 보입니다. 

 

 

 

 

## 상수 선언 실습2 - Ex01_Constant.java

- 이번에는 상수인데 값을 추가대입해 보겠습니다. 

package ch08_constant;

public class Ex01_Constant {

	public static void main(String[] args) {
		//선언과 동시에 초기화
		final int MAX_NUM = 100;
		
		//선언만 처리
		final int MIN_NUM;
		
		//추후에 값을 대입
		MIN_NUM = 0;
		
		System.out.println(MAX_NUM);
		System.out.println(MIN_NUM);
		
		//MAX_NUM = 10000;
	}

}

 

- 코드 마지막 부분에 [ MAX_NUM = 10000; ] 를 추가했습니다. 

- 그러면 에러가 떠서 앞에 //로 주석을 달아뒀습니다. 

 

- 주석을 없애면 위의 그림과 같이 에러가 뜨는 것을 확인할 수 있습니다.

- 상수는 한번 값을 대입하면 추후에 값을 변경하면 안 됩니다. 

- 절대적으로 변하지 않을 값을 대입한다고 보면 좋습니다. 

- 상수는 프로그램 내부에서 자주 사용은 하지만, 초기값을 대입 후에 절대적으로 변하지 않는 값에 주면 좋습니다.

 

 

 

 

 

 

 

 

 

 

728x90
반응형

 

 

 

 

 

 

 

 

 

2. 리터럴(Literal)


- 리터럴은 프로그램에서 사용하는 모든 숫자, 문자, 논리값 등을 일컫는 말입니다. 

- 변수나 상수에 대입되는 일반적인 자료형 값이라고 보면 됩니다. 

- 리터럴은 프로그램이 시작할 때 시스템에 같이 로딩되어 특정 메모리 공간인 상수 풀(constant pool)에 놓이게 됩니다.

 

- 예를 들어 num이라는 변수에 정수인 10이 대입이 된다고 보겠습니다.

- 10이라는 리터럴은 로딩될 때 상수풀에 놓이게 되고, 메모리 공간에 존재해야 num이 가져다 쓸 수 있는 구조로 되어 있습니다.

- 일단 숫자 값이 어딘가 메모리에 쓰여 있고, 이 값이 다시 변수 메모리에 복사가 되는 것을 의미합니다. 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형