Java

[Java] 자바의 변수들

효진인데요 2023. 1. 21. 15:40

 

자바에는 클래스 변수인스턴스 변수, 지역 변수가 존재하며,

 

변수의 종류는 변수가 선언된 위치에 따라 결정된다.

 

 

 

static이 붙어있는 것은 클래스 변수,

붙어있지 않은 것은 인스턴스 변수이다.

 

인스턴스 변수는 각각 다른 값을 가질 수 있다는 특징을 가지고 있으나,

클래스 변수는 모든 인스턴스가 같은 값을 가지게 된다. 

 

지역 변수는 메서드가 실행되는 동안 사용하다가 끝나면 소멸되어 사용할 수 없게 되는 변수이다.

 

 


 

 

기본형 (Primitive Type) 참조형 (Reference Type)
int, boolean, char, double 등 Person, String, int[] 등 클래스 기반 자료형
변수가 값 자체를 보관한다 실제 값은 메모리 어딘가에 저장,
변수는 그 영역(값)을 ‘가리킨다’.

 

 ☆ null 은 '비어있음' 을 의미하며 참조형 변수만 가질 수 있다.

 

 

 


 

 

 

간단하게 살펴보자면,

 

1. 

-> int 배열을 선언하고 값을 넣어주지 않았기 때문에 int의 기본 값인 0이 출력

 

 

2. 

-> Person은 클래스, people[0]은 참조형이고 기본 값은 null이므로 null이 출력된다.

 

 

3. 

->   person.age인 a[0]이 26을 가리킴.

->   a[0]++;로 인해 26의 값이 27로 바뀌고 person.age도 27이 됨.

->   people[1]과 people[0]이 같은 인스턴스를 가리키기 때문에 둘 다 age는 27.

->   그 후 28로 바꿔도 이미 27이라는 값을 가지고 있기 때문에 바뀌지 않고 27 출력.

728x90

'Java' 카테고리의 다른 글

[IntelliJ] Gradle Dependencies refresh  (1) 2023.09.27
[Java] 대소문자 변환 / equals 와 ==  (0) 2023.01.21