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 |