본문 바로가기
교육, 학습/멀티캠퍼스_풀 스택

JAVA 문법 - 변수(= 필드)의 종류

by 개발하는 경제학도 2022. 1. 17.

강의 소개

현재 수강하고 있는 멀티캠퍼스 k-digital 지능형 웹서비스 풀 스택 과정을 수강하며 적은 내용입니다.

교재로는 자바의 정석을 사용하고 있습니다.


 

변수의 종류

 

클래스의 필드(field)란 클래스에 포함된 변수(variable)를 의미한다.

클래스 내에서 변수는 선언된 위치에 따라 아래와 같이 구분된다.

class Person { 
	static int age; // 클래스 변수(= static 변수) 
    String name; // 인스턴스 변수(= non static 변수) 
    
    void method() { 
	    int something = 100; // 지역 변수 
    } 
}

 

1) 클래스 변수(static variable)

클래스 영역에 위치한 변수 중에서 static 키워드가 붙은 변수이다. 동의어로 static 변수라고도 부른다.

static의 특성은 '공유'이다. 따라서 인스턴스를 생성하지 않고도 '클래스. 클래스 변수'로 바로 사용할 수 있다.

또한, static의 특성에 따라 해당 클래스의 모든 인스턴스가 1개로 유지(하고 공유) 하기 위해 사용된다.

클래스 변수는 초기화하지 않아도 변수의 타입에 맞게 자동 초기화된다. (ex. int i;)

 

2) 인스턴스 변수(instance variable)

클래스 영역에 위치한 변수 중에서 static 키워드가 붙지 않은 변수다.

static이 없기 때문에 클래스에서 생성된 인스턴스마다 가져야 하는 '고유의 값'을 나타내기 위해 사용된다.

클래스 변수와 마찬가지로 인스턴스 변수도 초기화하지 않아도 변수의 타입에 맞게 자동 초기화된다.

 

3) 지역 변수(local variable)

메서드, 생성자, 초기화 블록 내에 위치한 변수를 지역 변수라 한다.

(클래스 변수, 인스턴스 변수와 다르게) 자동 초기화되지 않는다. 따라서 지역 변수는 반드시 초기화해주어야 한다.

(ex. int i = 100;)

 

출처: 자바의 정석(남궁 성 저), 멀티캠퍼스

참고자료: 이것이 자바다(신용권 저)

댓글