JAVA

[JAVA] 지역변수 및 상수

개발 공주 2023. 5. 31. 17:46
728x90

지역변수

  • 메서드 내부에 선언한 변수를 의미합니다.
  • 메서드가 실행될때마다 독립적인 값을 저장하고 관리하게됩니다.
  • 지역 변수는 메서드 내부에서 정의될때 생성되어 메서드가 종료될 때까지만 유지됩니다.
public class Main {
    public static void main(String[] args) {
        Main main = new Main();

        // 메서드 호출 : main.getClass()
        System.out.println("main.getClass() = " + main.getNumber());
        System.out.println("main.getClass() = " + main.getNumber());
        System.out.println("main.getClass() = " + main.getNumber());
    }

    public int getNumber() {
        int number = 1; // 지역 변수
        number += 1;
        return number; // 메서드 종료되면 지역변수 제거됨
    }
}

// 출력
//main.getNumber() = 2
//main.getNumber() = 2
//main.getNumber() = 2

final 필드와 상수

📌 final은 ‘최종적’ 이라는 의미입니다.

  • final 필드는 초기값이 저장되면 해당값을 프로그램이 실행하는 도중에는 절대로 수정할 수 없습니다.
  • 또한 final 필드는 반드시 초기값을 지정해야 합니다.

final 선언

final String company = "GENESIS";

Car car = new Car();
System.out.println(car.company);
  • 필드 타입 앞에 final 키워드를 추가하여 final 필드를 선언할 수 있습니다.
  • 사용방법은 일반적인 인스턴스 필드와 동일합니다. 다만 수정이 불가능합니다.
    • car.company = "Benz"; 이렇게 수정하려하면 오류가 발생합니다.

상수

  • 상수의 특징은 값이 반드시 한개이며 불변의 값을 의미합니다.
  • 따라서 인스턴스마다 상수를 저장할 필요가 없습니다.
static final String COMPANY = "GENESIS";

System.out.println(Car.COMPANY);
  • final 앞에 static 키워드를 추가하여 모든 인스턴스가 공유할 수 있는 값이 한개이며 불변인 상수를 선언할 수 있습니다.
  • 사용방법은 일반적인 클래스 필드와 동일합니다. 다만 수정이 불가능합니다.
    • Car.COMPANY = "Benz"; 이렇게 수정하려하면 오류가 발생합니다.
  • 일반적으로 상수는 대문자로 작성하는 것이 관례입니다.

'JAVA' 카테고리의 다른 글

[JAVA] this 와 this()  (0) 2023.05.31
[JAVA] 생성자  (0) 2023.05.31
[JAVA] 인스턴스 멤버와 클래스 멤버  (0) 2023.05.31
[JAVA] 객체의 속성(필드),행위(메서드)  (1) 2023.05.30
[JAVA] 객체 생성과 참조형 변수  (0) 2023.05.29