JAVA

객체지향(지역 변수, 상수)

jki09871 2024. 7. 24. 11:00

자바에서 지역 변수와 상수는 변수의 범위와 값 변경 가능성에 따라 중요한 역할을 합니다. 각각의 개념을 명확히 이해하는 것은 자바 프로그래밍의 기초를 다지는 데 도움이 됩니다. 아래에서 이 두 가지를 자세히 설명하겠습니다.

지역 변수 (Local Variables)

정의

  • 지역 변수는 메서드나 블록 내에서 선언된 변수를 말합니다.
  • 메서드, 생성자, 또는 블록이 실행될 때만 존재하며, 해당 메서드나 블록이 종료되면 소멸됩니다.
  • 지역 변수는 메서드 또는 블록 내에서만 접근할 수 있으며, 해당 범위를 벗어나면 접근할 수 없습니다.

특징

  1. 선언 위치:
    • 메서드, 생성자, 또는 코드 블록 내에서 선언됩니다.
  2. 초기화:
    • 자바에서는 지역 변수를 선언할 때 반드시 초기화해야 합니다. 그렇지 않으면 컴파일 오류가 발생합니다.
  3. 범위:
    • 지역 변수는 선언된 블록 내에서만 유효하며, 블록 외부에서는 접근할 수 없습니다.
  4. 메모리:
    • 메서드나 블록이 실행될 때 메모리에 생성되고, 실행이 끝나면 메모리에서 제거됩니다.

예제

public class LocalVariableExample {
    public void printLocalVariable() {
        int localVar = 10; // 지역 변수
        System.out.println("Local variable: " + localVar);
    }
    
    public static void main(String[] args) {
        LocalVariableExample example = new LocalVariableExample();
        example.printLocalVariable();
        
        // System.out.println(localVar); // 오류: localVar는 printLocalVariable 메서드 내에서만 유효합니다.
    }
}

상수 (Constants)

정의

  • 상수는 값이 한 번 초기화되면 변경할 수 없는 변수를 말합니다. 자바에서는 final 키워드를 사용하여 상수를 정의합니다.
  • 상수는 값이 변경되지 않으므로, 프로그램의 안정성을 높이는 데 도움을 줍니다.

특징

  1. 선언 및 초기화:
    • 상수는 final 키워드를 사용하여 선언합니다. 상수는 선언과 동시에 초기화해야 하며, 이후 값을 변경할 수 없습니다.
    • 상수의 이름은 관례적으로 대문자로 작성하며, 여러 단어가 있는 경우 언더스코어(_)로 구분합니다.
  2. 범위:
    • 상수는 변수와 동일한 범위 규칙을 따릅니다. 즉, 클래스 범위, 메서드 범위 등에서 사용할 수 있습니다.
  3. 메모리:
    • 상수는 메모리에서 한 번만 저장되고, 프로그램 전반에서 재사용됩니다.

예제

public class ConstantsExample {
    // 상수 선언
    private static final int MAX_ATTEMPTS = 5;
    
    public void printConstant() {
        System.out.println("Max attempts allowed: " + MAX_ATTEMPTS);
    }
    
    public static void main(String[] args) {
        ConstantsExample example = new ConstantsExample();
        example.printConstant();
        
        // MAX_ATTEMPTS = 10; // 오류: 상수는 값을 변경할 수 없습니다.
    }
}

요약

  • 지역 변수:
    • 메서드나 블록 내에서 선언되며, 해당 범위 내에서만 유효합니다.
    • 사용 전 반드시 초기화해야 하며, 블록이 종료되면 메모리에서 사라집니다.
  • 상수:
    • final 키워드를 사용하여 정의하며, 초기화 후 값을 변경할 수 없습니다.
    • 일반적으로 클래스의 모든 인스턴스에서 공통적으로 사용되며, 값이 변경되지 않아 프로그램의 안정성을 높이는 데 기여합니다.

이러한 개념들을 잘 이해하고 활용하면 자바 프로그래밍에서 변수와 상수를 효과적으로 사용할 수 있습니다.