클래스 변수, 인스턴스 변수, 지역 변수
선언 위치에 따른 변수의 종류
변수의 종류를 결정짓는 것은 '변수가 선언된 위치'다.
public class test
{
int iv; // 인스턴스 변수
static int cv; // 클래스 변수
void method()
{
int lv; // 지역 변수
}
}
인스턴스 변수
인스턴스 변수는 인스턴스가 생성될 때 생성된다. 그렇기 때문에 인스턴스 변수의 값을 읽어오거나 저장하려면 인스턴스를 먼저 생성해야 한다. 인스턴스별로 다른 닶을 가질 수 있으므로, 각각의 인스턴스마다 고유의 값을 가져야 할 때는 인스턴스 변수로 선언한다.
클래스 변수
클래스 변수는 인스턴스 변수에 static만 붙여주면 된다. 클래스 변수는 모든 인스턴스가 공통된 값을 공유하게 된다. 한 클래스의 모든 인스턴스들이 공통적인 값을 가져야할 때 클래스 변수로 선언한다.
클래스가 로딩될 때 생성되어(그러므로 메모리에 딱 한번 올라간다) 종료 될 때 까지 유지되는 클래스 변수는 public을 붙이면 같은 프로그램 내에서 어디서든 접근할 수 있는 전역 변수가 된다.
또한 인스턴스를 생성하지 않고 클래스이름.클래스변수명 을 통해 접근할 수 있다.
지역변수
메소드 내에서 선언되며 메소드 내에서만 사용할 수 있는 변수. 메소드가 실행될 때 메모리를 할당 받으며 메소드가 끝나면 소멸되어 사용할 수 없게 된다.
Author And Source
이 문제에 관하여(클래스 변수, 인스턴스 변수, 지역 변수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cseon230/클래스-변수-인스턴스-변수-지역-변수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)