꾸준한 개발자

계속적인 성장을 추구하는 개발자입니다. 꾸준함을 추구합니다.

계속 쓰는 개발 노트

JAVA

Java 변수

gold_dragon 2021. 9. 10. 19:40

변수 종류

지역 변수

메소드 내에서 선언된 변수입니다. 해당 메서드 내에서만 유효합니다.

매개 변수

메소드에 넘겨주는 변수입니다. 메소드가 호출될 때 생명이 시작되고, 메소드가 끝나면 소멸됩니다. 메소드가 호출되면서 스택 메모리에 스택 프레임이 생성됩니다. 그리고 해당 스택  프레임 내에 매개 변수를 위한 공간이 확보됩니다.

인스턴스 변수

클래스 내부이면서 메소드 외부에 선언된 변수입니다. static이라는 예약어가 붙어있으면 안됩니다. 객체가 생성될 때 생명이 시작되고, 그 객체를 참조하고 있는 다른 객체가 없으면 소멸됩니다.

클래스 변수

인스턴스 변수처럼 클래스 내부이면서 메소드 외부에 선언된 변수입니다. 인스턴스 변수와의 차이점으로는 static 예약어를 사용한다는 점입니다. 클래스가 처음 호출될 때 생명이 시작되고, 자바 프로그램이 끝날 때 소멸됩니다. 해당 변수는 static 메모리 영역에서 공간을 차지하게 됩니다.

public class VariableTest {
  int 인스턴스_변수;
  static int 클래스_변수;
  
  public void method(int 매개_변수) {
    int 지역_변수;
  }
}

'JAVA' 카테고리의 다른 글

객체 지향의 4대 특성  (0) 2021.10.03
객체 지향 설계의 5가지 원칙 (SOLID)  (0) 2021.10.03
자바 프로그램 개발과 구동  (0) 2021.09.14
클래스와 객체  (0) 2021.09.09
객체 지향 언어란? (Object Oriented Language)  (0) 2021.06.17