다양한 변수들 정리
언어를 공부하다 보면 다양한 이름의 변수들이 나오기 때문에 갈수록 헷갈리는 경우가 있습니다. 이번에는 여러 변수들을 살펴보고 한번 정리를 해보도록 하겠습니다.
멤버변수(인스턴스 변수)
클래스 내부에 선언하며 해당 클래스의 속성과 특성을 나타냅니다. 흔히 클래스는 인스턴스로 사용하는 경우가 많기 때문에 멤버변수를 인스턴스 변수라고 칭하는 경우도 많습니다.
멤버변수는 클래스의 속성을 나타내면서 각각의 인스턴스 마다 다른 값을 갖게 할 용도로 사용합니다.
사용범위는 해당 클래스 전체입니다. private가 아니라면 참조변수를 이용해 다른 클래스에서 가져다 쓸 수 있습니다. 사용하는 메모리는 힙 메모리입니다.
인스턴스가 생성될 때 힙에 생성이 된 뒤 가비지 컬렉터가 메모리를 수거할 때 소멸합니다.
지역변수(로컬 변수)
지역변수는 메서드 내부에서 선언되는 변수입니다. 사용 범위 역시 메서드 내부에서만 유효합니다. 사용하는 메모리는 스택 메모리이며 메서드가 호출될 때 생성되었다가 끝나면 소멸합니다.
메서드 내에서 기능을 구현하기 위해 잠시 사용하는 용도로 사용합니다.
static변수 (클래스 변수)
static변수는 static예약어를 사용하여 클래스 내부에 선언을 합니다. 클래스 내부 전체에서 사용이 가능하며 private가 아니면 클래스 이름으로 다른 클래스에서도 사용 가능합니다.
사용하는 메모리는 데이터영역 메모리입니다. 프로그램이 시작할 때 생성되었다가 프로그램이 끝나서 메모리가 해제될 때 소멸합니다. 그래서 너무 큰 크기의 변수를 static변수로 선언하면 부하가 높아집니다.
static변수는 여러 인스턴스에서 동일한 값을 공유하여 사용하도록 할 때 사용합니다.
참조변수
참조변수는 멤버변수 도는 멤버 메서드를 사용하기 위해 사용하는 변수입니다.
매개변수
매개변수는 생성자 또는 메서드 호출 시 값을 담아 보낼 때 사용하는 변수입니다.
'IT정보 > 자바 기초' 카테고리의 다른 글
[개념이해] 추상메서드, default메서드, static메서드, private메서드 (0) | 2022.02.20 |
---|---|
[개념이해] 자바의 객체지향(OOP), 클래스 그리고 인스턴스 (0) | 2022.02.19 |
[개발환경] 자바 IDE (통합개발환경) 이클립스 (0) | 2022.02.18 |
[개발환경] 자바 설치 Java Development Kit(JDK) (0) | 2022.02.18 |
[기본개념] 자바란 무엇일까? 특징은 무엇일까? (0) | 2022.02.18 |
댓글