To Be Develop
[Java] 자바 final 변수와 상수 개념 및 사용법 본문
반응형
1. final 변수:
final
키워드는 변수에 사용되어 해당 변수가 값을 한 번만 할당할 수 있음을 나타냅니다. 이는 변수가 초기화된 후에는 다른 값으로 변경될 수 없다는 것을 의미합니다.
예제:
public class FinalVariableExample {
public static void main(String[] args) {
final int x = 10;
// x = 20; // 에러: 값을 변경할 수 없음
}
}
public class MethodExample {
public void printMessage() {
final String message = "Hello, World!";
System.out.println(message);
// 에러: final 변수 값 변경 시도
// message = "New Message";
}
}
public class MethodExample {
public void printMessage() {
final String message = "Hello, World!";
System.out.println(message);
// 에러: final 변수 값 변경 시도
// message = "New Message";
}
}
public class InstanceVariableExample {
private final String instanceName;
public InstanceVariableExample(String name) {
this.instanceName = name;
}
public void printInstanceName() {
System.out.println("Instance Name: " + instanceName);
// 에러: final 변수 값 변경 시도
// instanceName = "New Name";
}
}
2. final 메서드:
final
키워드는 메서드에도 사용될 수 있습니다. 메서드가 final
로 선언되면, 하위 클래스에서 해당 메서드를 오버라이드(재정의)할 수 없습니다.
예제:
public class Parent {
public final void display() {
System.out.println("Parent class method");
}
}
public class Child extends Parent {
// 에러: display() 메서드를 오버라이드할 수 없음
// public void display() { }
}
3. final 클래스:
final
키워드는 클래스에도 사용될 수 있습니다. final
로 선언된 클래스는 다른 클래스에서 상속받을 수 없습니다.
예제:
final class FinalClass {
// ...
}
// 에러: FinalClass를 상속받을 수 없음
// class SubClass extends FinalClass { }
상수 (Constants):
상수는 프로그램에서 변하지 않는 값을 나타냅니다. Java에서는 final 키워드를 사용하여 상수를 선언할 수 있습니다. 관례적으로 상수는 대문자로 작성되며, 단어 간에 언더스코어(_)로 구분됩니다.
예제:
public class ConstantsExample {
public static final int MAX_VALUE = 100;
public static final double PI = 3.14159;
public static void main(String[] args) {
System.out.println("Max value: " + MAX_VALUE);
System.out.println("PI: " + PI);
}
}
이러한 final 변수와 상수는 코드의 가독성을 높이고, 프로그램의 유지보수성을 강화하는 데 도움을 줄 수 있습니다. 상수를 사용하면 프로그램에서 특정 값을 중복해서 사용할 때 일관된 값을 사용할 수 있습니다.
상수의 특징:
- 값이 변하지 않음: 상수는 한 번 초기화되면 그 값이 프로그램 실행 동안 변경되지 않습니다.
- 대문자 및 언더스코어 규칙: 상수의 이름은 관례적으로 대문자로 작성되며, 여러 단어가 결합된 경우에는 언더스코어(_)로 구분됩니다. 예를 들면
MAX_VALUE
,PI
등이 있습니다.
상수의 선언 및 초기화:
public class ConstantsExample {
// 정수형 상수
public static final int MAX_VALUE = 100;
// 실수형 상수
public static final double PI = 3.14159;
// 문자열 상수
public static final String GREETING = "Hello, World!";
}
상수 사용의 장점:
- 가독성 향상: 상수를 사용하면 코드의 의도가 명확해지고 가독성이 향상됩니다. 상수 이름 자체가 해당 값의 역할을 설명해주기 때문입니다.
- 유지보수성 강화: 만약 프로그램에서 특정 값을 변경해야 할 때, 해당 값을 상수로 정의하면 상수만 변경하면 되므로 코드 전체에 영향을 덜 주고 유지보수가 쉬워집니다.
- 중복 제거: 상수를 사용하면 동일한 값을 여러 곳에서 사용하는 경우, 상수를 중복 정의하는 대신 한 곳에서 정의한 상수를 참조할 수 있어 중복을 방지할 수 있습니다.
예제:
public class ConstantsExample {
public static final int MAX_VALUE = 100;
public static final double PI = 3.14159;
public static final String GREETING = "Hello, World!";
public static void main(String[] args) {
System.out.println("Max value: " + MAX_VALUE);
System.out.println("PI: " + PI);
System.out.println("Greeting: " + GREETING);
}
}
반응형
'dev > Java' 카테고리의 다른 글
[Java] IntelliJ IDEA 란 무엇인가? 인텔리제이 특징, 장단점 (1) | 2024.02.04 |
---|---|
[Java] 리눅스에서 자바 환경변수 설정하는 방법 (1) | 2024.02.01 |
[Java] 자바 instanceof 연산자 개념: 자세한 예시 (0) | 2024.01.29 |
[Java] 자바에서 생성자와 static 블럭의 차이점 (0) | 2024.01.28 |