본문 바로가기

기타

[자바/JAVA] 변수

반응형

오늘은 자바의 기본 개념에 대한 내용으로 포스팅을 다뤄 보겠습니다.


 

먼저 자바 변수는 크게 3종류로 나눌 수 있습니다.

    • 클래스 변수
    • 인스턴스 변수
    • 지역 변수

작성 이력

최초작성 17.12.18

1차 수정 18.01.09 ( 전역 변수 정의 추가 ) 




클래스 변수

 

클래스 변수는 클래스 영역에 존재하는 변수로 필드 혹은 정적멤버 라고도 합니다


class People{
static int nowYear=2017;//클래스 변수
}

 

위와 같은 People 클래스의 nowYear은 클래스 변수로써 객체 생성 없이도 사용할 수 있습니다. 그렇기 때문에 정적 멤버라고도 합니다.  그리고 클래스 변수는 모든 객체가 동일한 값을 갖습니다.


People.nowYear


인스턴스 변수

 

인스턴스 변수는 클래스 변수와 같이 클래스 영역에 존재하는 변수로  멤버 변수라고도 합니다. 클래스를 객체화 한 것을 인스턴스라고 부르며, 그렇기 때문에 인스턴스 변수는 클래스의 객체 생성 없이는 사용할 수 없습니다. 


class People{
static int nowYear=2017;//클래스 변수
int old;//인스턴스 변수
}

 

인스턴스 변수는 아래처럼 객체 생성 후 각 객체마다 다르게 값을 지정 할 수 있습니다. 


People people1=new People();
people1.old=27;


지역 변수

 

지역 변수는 클래스 변수, 인스턴스 변수 외 모든 변수들을 일컫는 말로  '{}' 중괄호 사이에서 선언 및 초기화를 거치고 중괄호가 끝나면 사라집니다.


{
People people1 = new People();
people1.old = 27;

int money = 1000;//지역 변수
}


전역 변수(18.01.08)

 

전역 변수를 검색 해보면 어떤 영역에서도 접근 가능한 변수라고 칭하는데, 실질적으로 자바에서 전역 변수는 지원하지 않습니다. 다만 static 키워드를 사용해 전역변수와 같이 사용합니다.


public class A{
public static int a; //통상 쓰이는 전역 변수
}



※지역변수와 멤버 변수명이 겹칠때 우선순위는 지역변수가 높습니다.



해당 포스팅은 지극히 주관적인 내용으로 저자의 복기 목적으로 작성된 것이고, 내용에대해 수정이나 추가 요청은 언제든 환영합니다. 



반응형