Java

[Java] 05. 변수

Jenny Noh 2024. 1. 16. 17:50

  Java의 변수

Java에서 변수는 선언과 초기화 후에 사용해야한다. Java는 동적 타이핑을 사용하지 않기 때문에 선언할 때 데이터 타입을 지정해 주어야한다.

Java에서 사용되는 변수는 지역변수(local variable), 멤버변수 (instance variable), 클래스 변수 (class variable)이 있다.

 

1) 지역변수 (Local variable)

  - 메소드({}) 내에서 선언되고 사용 후 폐기되는 변수 (파이썬에서 함수 내부에서 사용되는 parameter과 비슷함)

  - 변수의 수명(life-cycle)이 가장 짧음

  - Stack에 저장됨

**Stack이란: 먼저 들어온 데이터를 나중에 처리하는 구조 (FILO, 메소드를 호출할 때 사용되는 구조)

    ↔️ Queue: 먼저 들어온 데이터를 먼저 처리하는 구조 (FIFO, 프린트 대기열 등)

 

2) 멤버변수 (Instance variable)

  - 클래스 내부에서 선언된 변수로 클래스를 대표하는 명사적 요소임

  - 클래스가 생성됨과 동시에 멤버변수도 생성됨

  - 클래스가 메모리에서 사라지면 함께 폐기됨

 

3) 클래스 변수 (Class variable)

  - 클래스 내부에서 선언된 변수로 앞에 static 지정자가 붙은 변수

  - JVM이 구동됨과 동시에 클래스 변수가 생성됨

  - 클래스가 생성되지 않아도 메모리에 올라가 있어서 사용할 수 있음

  - JVM이 종료되면 폐기됨

  - 수명이 가장 긴 변수

 

 

   타입추론

변수를 선언할 때 var 연산자를 이용해서 선언하면 타입을 지정하지 않고도 변수를 선언할 수 있다.

값이 들어오면 해당 값의 타입으로 변수 타입이 지정되고 이후에 타입이 절대 변경되지 않는다.

컴파일이 완료되면 타입이 결정되기 때문에 byte code 상태에서는 타입이 결정되어있다.

 

잘 쓰지는 않음..^^