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
Tags
more
Archives
Today
Total
관리 메뉴

임동까스

[Java] 지역변수와 인스턴스변수 본문

프로그래밍기초/Java

[Java] 지역변수와 인스턴스변수

임동까스 2020. 10. 26. 09:24
public class test { 
	int i; // 인스턴스 변수 
    static int c; // 클래스 변수 
    
    void method() { int l; // 지역 변수 } }

위치에 따라 변수의 종류가 달라진다.

i 와 c는 클래스 내부에 선언되어있으므로 멤버 변수. 그 중 c는 static으로 선언되어있으니 클래스 변수이고 iv는 인스턴스

l은 메서드 내에 선언 되어 있으므로 지역 변수이다.

 

인스턴스 변수

 인스턴스 변수는 인스턴스가 생성될 때 생성 그렇기 때문에 인스턴스 변수의 값을 읽어오거나 저장하려면 인스턴스를 먼저 생성해야함. 인스턴스 별로 다른 값을 가질 수 있으므로, 각각의 인스턴스마다 고유의 값을 가져야할 때는 인스턴스 변수로 선언

 

 

클래스 변수

  클래스 변수는 인스턴스 변수에 static만 붙여주면 됌. 인스턴스 변수는 각각 고유한 값을 가지지만 클래스 변수는 모든 인스턴스가 공통된 값을 공유함. 한 클래스의 모든 인스턴스들이 공통적인 값을 가져야할 때 클래스 변수로 선언. 클래스가 로딩될 때 생성되어(그러므로 메모리에 딱 한번만 올라감) 종료 될 때 까지 유지되는 클래스 변수는 public 을 붙이면 같은 프로그램 내에서 어디서든 접근할 수 있는 전역 변수가 된다. 또한 인스턴스 변수의 접근법과 다르게 인스턴스를 생성하지 않고 클래스이름.클래스변수명 을 통해서 접근할 수 있다.

 

 

지역 변수

 메서드 내에서 선언되며 메서드 내에서만 사용할 수 있는 변수. 메서드가 실행될 때 메모리를 할당 받으며 메서드가 끝나면 소멸되어 사용할 수 없게 된다.