[Java] 선언위치에 따른 변수 종류

dadev·2021년 8월 9일
0

Java

목록 보기
1/12
post-thumbnail

✍ 선언위치에 따른 변수 종류

👉인스턴스 변수(instance variable)

클래스 영역에 선언

When? 인스턴스 생성시 made!!

인스턴스마다 별도의 저장공간을 가지므로 서로 다른 값 가질 수 있음.

인스턴스마다 고유한 상태를 유지해야하는 경우 사용


👉클래스 변수(class variable)

모든 인스턴스가 공통된 저장공간(변수)을 공유

한 클래스의 모든 인스턴스들이 공통적인 값을 유지해야하는 속성일 때 사용!


👉지역변수(local variable)

메서드 내에 선언

메서드 내에서만 사용가능

메서드 종료 -> 반드시 소멸되어 사용 x

블록{} 벗어나면 사용 불가



👉 호출스택(call stack)

💡 우선 스택(stack)이란?

밑이 막힌 상자 / 위에 차곡차곡 쌓임.

💡 그럼 호출스택은?

메서드 수행에 필요한 메모리가 제공되는 공간

메서드 호출되면 호출스택에 메모리를 할당함.

종료되면 해제됨.

💡 호출스택 특징

메서드가 호출되면 수행에 필요한 만큼의 메모리를 스택에 할당받음.

메서드가 수행 마치고나면 사용했던 메모리 반환 후 스택에서 제거됨.

호출스택의 제일 위에 있는 메서드가 현재 실행 중인 메서드

💡 그럼 나머지는?

대기 중인 메서드!!

아래에 있는 메서드가 바로 위의 메서드를 호출한 메서드

👉 매개변수

기본형과 참조형으로 구분

기본형 : 변수의 값 읽기만 가능

참조형 : 변수의 값 읽고 쓰기 가능

profile
매일매일 최선을 다하는 개발자

0개의 댓글