반응형
instance Variables(인스턴스 변수):
- 클래스에 정의된 변수로, 객체(인스턴스)가 생성될 때마다 고유한 메모리 공간을 할당받는다. 이러한 변수들은 해당 클래스의 모든 인스턴스에서 공유되지 않으며, 각 객체마다 서로 다른 값을 가질 수 있다.
예를 들어, 'Person' 클래스의 'name'과 'age' 필드가 인스턴스 변수다.
Class Variables(클래스 변수):
- 클래스에 정의된 변수로, 클래스가 로드될 때 메모리를 할당받는다. 클래스 변수는 해당 클래스의 모든 인스턴스에서 공유된다. 이러한 변수들은 객체 간에 데이터를 공유하거나, 클래스 수준에서 상태를 유지하는 데 사용된다.
예를 들어, 'Person' 클래스의 'totalCount' 상수가 클래스 변수다.
Local Variables(로컬 변수):
- 특정 메서드 또는 블록 내에서만 사용할 수 있는 변수로, 해당 메서드 또는 블록이 실행될 때 생성되고 실행이 완료되면 사라진다. 이러한 변수들은 일시적인 데이터를 저장하거나 메서드 내에서 임시로 처리할 때 사용된다.
Parameters(매개변수):
- 메서드의 정의에 포함되어 메서드가 호출될 때 전달된 값을 저장하는 변수다. 매개변수는 메서드의 입력 값으로 사용되며, 메서드 내에서 처리할 작업에 사용된다.
public class Person {
String name; // 인스턴스 변수
int age; // 인스턴스 변수
public static int totalCount; // 클래스 변수
public void printPersonInfo(String message) {
String tempInfo; // 로컬 변수
System.out.println(message + " " + name + "이고, " + age + "살입니다.");
}
public static void main(String[] args) {
Person person1 = new Person();
person1.name = "Alice";
person1.age = 30;
Person person2 = new Person();
person2.name = "Bob";
person2.age = 25;
totalCount = 2; // 클래스 변수
}
}
반응형
'코딩 > JAVA' 카테고리의 다른 글
JAVA 다형성(Polymorphism)과 interface (0) | 2023.12.10 |
---|---|
Java 랜덤 함수 사용하기 (RandomNumberGenerator) (0) | 2023.10.24 |
Java Method Signature: 개념, 구성 요소, 그리고 활용 방법 (0) | 2023.10.18 |
[JAVA] 객체, 클래스 및 인스턴스의 개념과 차이점 (0) | 2023.10.18 |
[JAVA]클래스 다이어그램에서 클래스 멤버 또는 속성의 접근 제한자 표기법 (0) | 2023.10.18 |