[JAVA] 변수의 종류(ferat. 인스턴스 변수, 클래스변수, 지역변수)

2020. 10. 26. 09:05JAVA

- 변수의 종류는 '변수가 선언된 위치'에 의해 결정됨

 

- 종류로는 인스턴스 변수, 클래스변수, 지역변수가 있음

 

 

<20.11.04 추가>

- 함수가 실행되는 동안만 유지되는 것 = 지역변수

- 객체가 살아있는 동안 유지되는 것 = 인스턴스 변수

 

- 프로그램이 실행되는 동안 유지되는 것  = 메인 로직 바깥 변수

 

 

1. 인스턴스 변수

  • 인스턴스가 생성될 때 생성됨
  • 인스턴스마다 고유의 값을 가질 수 있음

2. 클래스 변수

  • 인스턴스 변수에 static을 붙여준 것
  • 인스턴스 변수는 각각의 고유한 값을 가지지만 클래스 변수는 모든 인스턴스가 공통된 값을 공유하게 됨
  • 클래스가 로딩 시 생성되고 종료 시 까지 유지되는 변수에는 public을 붙여주어야 함
  • public이 붙은 변수는 전역 변수라 하며, 동일 프로그램 내에서 어디서든 접근이 가능함
  • 인스턴스 전근법과 다르게 인스턴스를 생성하지 않고 "클래스이름.클래스변수명"으로도 접근이 가능함

3. 지역 변수

  • 메서드 내에서 선언됨
  • 메서드 내에서만 사용이 가능한 변수
  • 메서드 실행 시 메모리가 할당되며(생성되며) 메서드 종료 시 기능을 상실

 

(출처: itmining.tistory.com/20)