상수와 리터럴

2023. 4. 2. 13:36Code/Java

 

상수와 리터럴

 

예시: 원주율을 3.14로 정했다면 이 값은 변하지 않는 값이다. 이렇게 항상 변하지 않는 값을 상수(constant)라고 한다.

 

 자바에서 상수는 다음처럼 final 예약어를 사용해 선언한다.

 

예제 코드:

 

package chapter2;

public calss Constart. {
	public static void main(String [] args) {
    
    final int MAAX_NUM = 100;
    final int MIN_NUM;
    
    MIN_NUM = 0;
    
    System.out.println(MAX_NUM);
    System.out.println(MIN_NUM);
    
    //MAX_NUM = 1000; <--- 오류 발생. 상수는 값을 변경할 수 없다.
    
    }

}

상수를 사용하면 편리한 이유

 

프로그램 내부에서 반복적으로 사용하고, 변하지 않아야 하는 값을 상수로 선언하여 사용하면 좋다.

 

예시: 어떤 학급의 학생 수가 최대 30명이라는 코드를 작성하는 경우:

 

리터럴모든 숫자, 문자, 논리값(true,false)을 일컫는 말이다.

 

'A', 10, 3.14 같은 문자와 숫자를 '리터럴' 혹은 '리터럴 상수'라고 한다.

 

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

 

예를 들어 int num =3; 문장에서 값이 3이 메모리 공간 어딘가에 존재해야 num 변수에 그 값을 복사할 수 있다.

 

즉 숫자가 변수에 대입되는 과정은 일단 숫자 값이 어딘가 메모리에 쓰여있고, 이 값이 다시 변수 메모리에 복사되는 원리다.

 

자바에서 정수를 표현하는 메모리의 기본크기는 4바이ㅏ트이다, 이는 상수 풀에서도 마찬가지로 예를 들어 리터널 10은 int(4바이트)로 처리가 된다. 하지만 long num = 12,345,678,900; 은 4바이트 크기에 들어갈 수 없기에 long 으로 ㅅ선언을 해주어야 한다.

 

따라서 '리터럴은' long형으로 저장 되어야 한다. 는 의미로 리터럴 뒤에 식별자 1이나 L을 써 주는 것이다.

 

실수또한 마찬가지이다.

 

즉 리터럴 상수를 선언하려면 아래 코드와 같이 진행해야한다.

 

package 리터럴2;

Public class TypeInference {
	public static void main(String[] args){
    
    float PI = 3.14F; // 상수리터럴 float 형 선언
    
    }

}

 

 

'Code > Java' 카테고리의 다른 글

Java 메서드(Method)  (0) 2023.04.02
객체 지향 프로그래밍과 클래스 그리고 패키지  (0) 2023.04.02
UTF-16 과 UTF-8 의 차이점  (0) 2023.04.02
Hello ! Java !  (0) 2023.04.02