로그인 회원가입
모두인포
전체IT경제사회생활스포츠시사여행연애

자바 상수(Constant)

lmkfox · 2025-06-29 · 조회 0
자바 상수(Constant)
자바에서 **상수(Constant)**는 값이 변하지 않는 변수를 의미하며, 선언 시 지정된 값을 프로그램 실행 중에 변경할 수 없습니다. 상수는 주로 final 키워드를 사용하여 정의하며, 의미 있는 이름을 붙여 코드의 가독성, 유지보수성, 안정성을 높이는 데 기여합니다. 1. 상수의 선언 방법 자바에서 상수는 다음과 같이 선언합니다: final 데이터타입 변수명 = 값; 예시: final int MAX_SCORE = 100; final double PI = 3.14159; final String GREETING = "Hello"; - final 키워드는 변수의 값을 한 번만 할당할 수 있도록 만듭니다. - 변수명은 대문자와 언더스코어(_)로 구성하는 것이 관례입니다. 2. 상수에 사용되는 데이터 타입 상수는 모든 데이터 타입에 대해 사용할 수 있으며, 크게 나누면 아래와 같습니다. 2.1 기본형(Primitive Type) 상수 타입 예시 설명 int final int DAYS = 7; 정수형 상수 long final long TIME = 1000L; 긴 정수. 접미사 L 필요 float final float RATE = 1.5f; 실수. 접미사 f 필요 double final double PI = 3.14; 실수. 기본 실수형 타입 char final char GRADE = 'A'; 문자형 상수 boolean final boolean FLAG = true; 논리값 상수 2.2 참조형(Reference Type) 상수 참조형도 final을 사용하여 상수처럼 사용할 수 있습니다. 하지만 객체의 내용은 변경 가능합니다. final String NAME = "JAVA"; // 불변 객체 final int[] NUMS = {1, 2, 3}; // 배열 참조는 불변, 내용은 변경 가능 - final String은 불변(immutable)이라 진짜 상수처럼 사용 가능 - final 배열, final 객체는 참조는 상수지만, 내부 요소는 변경 가능 3. 상수에 사용할 수 있는 Wrapper 클래스 타입 기본형 타입에 대응되는 **래퍼 클래스(wrapper class)**도 상수 정의에 사용됩니다. 기본형 래퍼 클래스 예시 int Integer final Integer MAX = Integer.valueOf(10); double Double final Double PI = 3.14159; boolean Boolean final Boolean IS_ACTIVE = Boolean.TRUE; Wrapper 클래스는 null을 저장할 수 있기 때문에, 객체 기반 로직에서 활용됩니다. 4. 상수의 활용 예시 예시 1: 물리 상수 final double GRAVITY = 9.8; final double LIGHT_SPEED = 299_792_458; 예시 2: 조건 비교 final int ADMIN_ROLE = 1; final int USER_ROLE = 0; if (role == ADMIN_ROLE) { System.out.println("관리자 권한"); } 예시 3: 클래스 상수 (static final) public class MathConstants { public static final double PI = 3.141592; public static final int MAX_VALUE = 1000; } 사용: double area = MathConstants.PI * r * r; static final 상수는 클래스 이름으로 접근할 수 있고, 인스턴스를 생성하지 않아도 됩니다. 5. 상수와 열거형(enum) 상수를 여러 개 정의할 때는 enum을 사용하는 것이 더 안전하고 명확할 수 있습니다. enum Direction { EAST, WEST, SOUTH, NORTH } 이런 식으로 의미 있는 이름으로 상수를 묶어서 사용할 수 있으며, 타입 안정성과 가독성이 뛰어납니다. 6. 요약 항목 설명 선언 방식 final 데이터타입 변수명 = 값; 변수명 관례 대문자 + 언더스코어 (MAX_LENGTH, PI) 사용 가능한 타입 기본형, 참조형, 래퍼 클래스 모두 가능 변경 여부 final로 선언된 변수는 값 재할당 불가 static final 클래스 상수로서 여러 곳에서 공유 가능 enum 열거형으로 그룹 상수 표현 가능

댓글

아직 댓글이 없습니다.

로그인 후 댓글을 남길 수 있습니다.