Notice
Recent Posts
Recent Comments
Link
반응형
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

To Be Develop

[Java] 자바 final 변수와 상수 개념 및 사용법 본문

dev/Java

[Java] 자바 final 변수와 상수 개념 및 사용법

To Be Develop 2024. 1. 29. 03:13
반응형

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 변수와 상수는 코드의 가독성을 높이고, 프로그램의 유지보수성을 강화하는 데 도움을 줄 수 있습니다. 상수를 사용하면 프로그램에서 특정 값을 중복해서 사용할 때 일관된 값을 사용할 수 있습니다.

 

상수의 특징:

  1. 값이 변하지 않음: 상수는 한 번 초기화되면 그 값이 프로그램 실행 동안 변경되지 않습니다.
  2. 대문자 및 언더스코어 규칙: 상수의 이름은 관례적으로 대문자로 작성되며, 여러 단어가 결합된 경우에는 언더스코어(_)로 구분됩니다. 예를 들면 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!";
}

 

상수 사용의 장점:

  1. 가독성 향상: 상수를 사용하면 코드의 의도가 명확해지고 가독성이 향상됩니다. 상수 이름 자체가 해당 값의 역할을 설명해주기 때문입니다.
  2. 유지보수성 강화: 만약 프로그램에서 특정 값을 변경해야 할 때, 해당 값을 상수로 정의하면 상수만 변경하면 되므로 코드 전체에 영향을 덜 주고 유지보수가 쉬워집니다.
  3. 중복 제거: 상수를 사용하면 동일한 값을 여러 곳에서 사용하는 경우, 상수를 중복 정의하는 대신 한 곳에서 정의한 상수를 참조할 수 있어 중복을 방지할 수 있습니다.

예제:

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);
    }
}

 

 

 

반응형