1. 변수(Variable)와 상수(Constant)
- 객체라는 데이터 저장소를 만들면, 그 안에 저장되는 데이터 값을 수정할 수 있다
- 보통의 객체는 값이 계속 변할 수 있어 변수(Variable)라고도 표현된다
- 시스템을 이용하여 한번 객체를 만들 때 값을 지정해주면 값이 변경되지 않는 객체를 구현할 수 있다
- 이렇게 만들어진 수를 상수(Constant)라고 한다
2. 상수의 종류
- 상수의 종류에는 리터럴 상수(Literal Constant)와 기호 상수(Symbolic Constant)가 있다
- 리터럴 상수란 변하지 않는 데이터의 값, 즉 우리가 흔히 객체에 데이터를 입력할 때 사용한 문자나 기호, 숫자들이다
- 만약 0916, 0216이라는 숫자만 덩그러니 있게 된다면, 우리는 그 숫자에 대한 배경지식이 없어 어떠한 값을 의미하는지 알 수 없을 것이다
- 이렇게 어떤 의미를 지니는지 모르는 값을 마법의 숫자(Magic Number)라고 한다
- 기호 상수란 이러한 상수들에게 이름을 붙였다 하여 기호 상수라한다
- 의미를 담은 이름을 함께 붙여주어 기호 상수로 만들어주면 의미가 명확하게 보이기 때문에 프로그램의 안정감과 코드의 가독성이 높아진다
- 기호 상수를 선언하는 방법은 다음과 같은 한정자(Modifier)를 사용하는 방법이 있다. 한정자를 붙이면 기능에 제한이 생기게 된다
- 제한이 생긴다는 의미는 객체를 상수로 만들면 의도치 않게 값이 수정되는 것을 컴파일 단계에서 체크할 수 있다는 의미이다
- const 한정자를 사용하여 상수를 만들 수 있으며 const는 객체에만 사용할 수 있고 타입 전에 붙이면 된다
3. 열거형(Enumeration)
- 열거형은 관련 있는 여러 기호 상수를 묶기 위한 도구이다
- 상수의 집합을 만든다고 생각하면 된다. 이때, 집합을 만들었을 때 의미가 명확한 객체들만 열거형으로 만드는 것이 좋다
- 이 때 값을 지정해주지 않는 경우 첫번째 멤버부터 십진수 0으로 시작하여 LEFT부터 시작해 각각의 객체는 0, 1, 2, 3 의 값을 가진다
- 열거형도 타입이기 때문에 객체의 타입으로 지정할 수 있다
- 열거형 내부에서 사용할 수 있는 여러 메소드가 있으며, 그 종류는 링크에서 확인할 수 있다
- 비트 하나당 2가지 상태를 저장할 수 있으며 어떤 비트가 1일 때의 의미를 나타내기 위한 상수의 모음을 비트 플래그(Bit Flag)라 한다
- 열거형으로 비트 플래그를 표현할 수 있다