
✍️상수
변수의 반댓말로 변하지 않고 고정된 값을 담는 변수를 의미한다. 변하지 않는 값을 사용하고 싶을 때 사용한다.
✍️final
자바에서 상수를 선언할 때는 final을 사용하여 선언을 한다. final은 해당 오브젝트를 단 한번만 할당할 수 있음을 의미한다. 보통 상수를 선언할 때 static final을 사용하여 상수를 선언하게 된다. final만 사용하면 변하지 않는 변수 상수를 의미한다.
✍️static
말 그대로 "정적이다"라는 의미를 가지고 있다. static 멤버들은 클래스에 고정된 멤버이다. 그래서 클래스 로더가 클래스를 로딩하면 메모리에 할당시켜준다. 메모리 할당을 한번만 하게 된다.
static은 전역적으로 쉽게 재사용하는 잘 변하지 않는 변수나 메서드를 사용할 대 주로 사용한다.
만들어 놓고 클래스 호출, 객체 생성을 할 필용벗이 바로바로 사용할 수 있다.
- 변수와 마찬가지로 메모리상에 존재하지만, 값이 변경될 수 없는 데이터
final 키워드를 사용하여 선언된 변수는 상수로 생성된다.final int age = 20; final float PI = 3.14F;
- 메모리 상에 이름이 생성되므로 접근은 가능하지만, 할당한 값은 변경할 수는 없다. (읽기전용)
final int age = 20; age = 21; // 상수의 값을 변경하므로 에러
final 간단 예제를 만들어보자

final을 사용하여 상수를 선언이 가능하지만 보통 static final을 같이 사용하여 선언해준다.
클래스에서 사용할 멤버 변수의 값을 고정하겠다는 의미이다. 즉 final은 변수의 값이 변하지 않고, static은 새로운 메모리에 할당하지 않고 한 메모리에 계속 재사용하겠다는 것이다.
위의 선언한 상수를 호출해보자

Main클래스에서 상수를 호출하여 상수값을 출력해준다.