선언위치에 따른 변수의 종류
변수의 종류 세 가지 - 클래스변수, 인스턴스변수, 지역변수
멤버변수를 제외한 나머지 변수들은 모두 지역변수,
멤버변수 중 static이 붙은 것은 클래스변수(static변수, 공유변수), 붙지 않는 것은 인스턴스변수
1. 인스턴스변수(instance variable)
클래스 영역에 선언, 클래스의 인스턴스를 생성할 때 만들어진다. 인스턴스 변수를 사용하기 위해서 인스턴스를 생성해야한다. 독립적인 저장공간을 가지며 서로 다른 값을 가질 수 있다.
2, 클래스변수(class variable)
인스턴스변수 앞에 static을 붙이면 클래스변수가 된다. 모든 인스턴스가 공통된 저장공간을 공유한다. 인스턴스를 생성하지 않고도 바로 사용할 수 있다. 클래스가 메모리에 로딩될 때 생성되어 프로그램이 종료될 때까지 유지된다. public을 앞에 붙이면 전역변수의 성질을 갖게 된다.
3. 지역변수(local variable)
메서드 내에 선언되어 메서드 내에서만 사용 가능, 메서드가 종료되면 소멸되어 사용할 수 없다.
반복문내에 선언한 지역변수는 블럭{ } 내에서만 사용 가능하며 블럭 { }을 벗어나면 소멸되어 사용할 수 없게 된다.
인스턴스변수는 인스턴스가 생성될 때마다 생성되므로 인스턴스마다 각기 다른 값을 유지할 수있지만, 클래스 변수는 모든 인스턴스가 하나의 저장공간을 공유하므로, 항상 공통된 값을 갖는다.
'Backend > Java' 카테고리의 다른 글
자바의 정석 정리(28) - 메서드 ② (0) | 2022.06.17 |
---|---|
자바의 정석 정리(27) - 메서드 ① (0) | 2022.06.16 |
자바의 정석 정리(25) - 객체지향언어 (0) | 2022.06.15 |
자바의 정석 정리(24) - 다차원 배열 (0) | 2022.06.10 |
자바의 정석 정리(23) - String 배열 ② (0) | 2022.06.08 |