728x90
반응형
변수의 종류 | 선언위치 | 생성시기 |
클래스변수(static이 붙은 변수) | 클래스 영역 | 클래스가 메모리에 올라갈 때 |
인스턴스변수 | 인스턴스가 생성되었을 때 | |
지역변수 | 클래스 영역 이외의 영역(메서드, 생성자, 초기화 블럭 내부) | 변수 선언문이 수행되었을 때 |
▷클래스변수 : 모든 인스턴스가 공통된 저장공간(변수)를 공유, 인스턴스를 생성하지 않고도 언제라도 바로 사용할 수 있다, public을 앞에 붙이면 어디서나 접근할 수 있는 '전역변수'의 성격을 가짐.
▷인스턴스변수 : 인스턴스는 독립적인 저장공간을 가지므로 서로 다른 값을 가짐, 인스턴스마다 고유한 상태를 유지해야 하는 속성의 경우, 인스턴스변수로 선언.
▷지역변수: 메서드 내에서만 사용 가능하며, 메서드가 종료되면 소멸되어 사용할 수 없게 됨.
인스턴스 변수는 인스턴스가 생성될 때마다 생성되므로 인스턴스마다 각기 다른 값을 유지할 수 있지만, 클래스 변수는 모든 인스턴스가 하나의 저장공간을 공유하므로, 항상 공통된 값을 갖는다.
728x90
반응형
'Skills > Java' 카테고리의 다른 글
객체지향의 5원칙 SOLID (0) | 2023.01.29 |
---|---|
인스턴스 메서드, 클래스 메서드 (0) | 2022.12.19 |
오버로딩 (0) | 2022.12.16 |
객체지향이론, 클래스, 객체, 인스턴스 (0) | 2022.12.16 |
점프 투 자바 정리 (1) (자바와 자료형) (1) | 2022.10.21 |