스파이더 웹 개발

클래스 변수, 인스턴스 변수, 지역 변수 본문

Java

클래스 변수, 인스턴스 변수, 지역 변수

스파이더웹 2022. 7. 20. 13:49
728x90
반응형

변수의 종류를 결정 짓는 중요한 요소는 **‘변수의 선언 위치’**이므로 변수의 종류를 파악하기 위해서는 변수가 어느 영역에 선언되었는지를 확인하는 것이 중요하다 멤버 변수를 제외한 나머지 변수들은 모두 지역 변수이며, 멤버 변수 중 static이 붙은 것은 클래스 변수, 붙지 않는 것은 인스턴스 변수 이다.

class Variables {
    
    int instanceVariable; //인스턴스 변수
    static int classVariable; //클래스 변수
    
    void method(){
        int localVariable= 0; //지역 변수
    }
}

인스턴스 변수(instance vairable)

  • 클래스 영역에 선언
  • 클래스 인스턴스를 '생성할 때' 만들어짐
  • 인스턴스는 독립적인 저장공간을 가져 서로 다른 값을 가질 수 있다

클래스 변수(class variable)

  • 클래스 영역에 선언하는데 인스턴스 변수 앞에 static을 붙이면 됨
  • 모든 인스턴스가 공통된 저장공간을 공유하게 됨
  • 인스턴스변수와 달리 인스턴스를 생성하지 않고도 사용이 가능함
  • 런타임 시에 생성

지역변수(local variable)

  • 메서드 내에 선언되며 해당 메서드 내에서만 사용이 가능
  • 메서드가 종료되면 소멸되어 사용 불가
  • for, while문의 블럭{ } 내에 선언된 지역변수는 블럭을 벗어나면 사용이 불가
  • 지역변수는 사용하기 전에 반드시 초기화 해주어야 한다
728x90
반응형

'Java' 카테고리의 다른 글

JVM 이란?  (0) 2022.07.21
Parameter와 Arguement의 차이  (1) 2022.07.20
런타임 vs 컴파일 타임  (0) 2022.07.20
메서드와 함수의 차이  (0) 2022.07.20
자바 final 키워드  (0) 2022.07.20
Comments