본문 바로가기

프로그래밍 언어/JAVA

[JAVA] 07 - 변수 구분

변수 선언에 따른 구분


1. 타입에 따른 구분


1.1. 기본타입

 

(내장타입, built in, 8가지)

ex)

int i;
double d;

 


1.2. 참조타입

 

(객체 관리하는 참조 변수, 객체 타입)

: class가 존재하는 범위에 한해서만 타입으로 사용 가능

ex)

String s; 	// API에 String.java 제공
Test t; 	// Test.java를 사용자 정의로 구성

 


2. 선언 위치에 따른 구분


2.1. 맴버 변수

 

class {} 하위에 선언되는 모든 변수
객체 생성시에 객체 내부에 구성요소로 생성되는 변수들을 의미
객체 생성시에 생성 및 객체가 메모리에서 소멸될 때 자동 삭제된다.

ex)

public class People {
	String name;
	int age;
}

 

위의 코드에서 People의 name과 age 이 멤버 변수 이다.

 

 

 

멤버변수의 종류


   2.1.1. instance 변수


   객체 생성 필수 변수


   변수 모양

   : 참조변수명.변수

   ex)

public class People {
	String name;
	int age;
}

People p1 = new People
p1.name

 


   2.1.2. static 변수


   객체 생성 옵션
   만일 객체들 생성시에는 생성되는 모든 객체가 공유하게 되는 변수
   

   변수 모양

   : class명.변수 / 변수 / 참조변수명.변수

   ex)

public class Test{
	static int i2;

}

// 방법 1
i2;	

// 방법2
Test.i2	

// 방법3
Test t = new Test();
t.i2

 



2.2. 로컬 변수

 

(temporary, automatic, stack)
생성자와 메소드 () 즉 argument 또는 {} 내부에 선언되는 변수들
생성자나 메소드 호출시에만 메모리에 생성되었다가 생성자와 메소드가 실행 종료시에 자동 소멸된다.