자바에서 필드(Field)는 클래스 내부에 선언된 변수로, 클래스의 객체(인스턴스)의 상태를 나타냅니다. 필드는 클래스의 데이터를 저장하고 객체의 상태를 유지하는 역할을 합니다. 필드는 객체의 속성을 표현하며, 클래스의 모든 메서드에서 접근할 수 있습니다.
필드의 종류
자바에서는 크게 인스턴스 변수와 클래스 변수(static 변수)로 나눌 수 있습니다.
- 인스턴스 변수 (Instance Variable):
- 각각의 객체(인스턴스)마다 고유한 값이 가질 수 있는 변수입니다.
- 객체가 생성될 때마다 각 객체마다 별도의 인스턴스 변수가 생성됩니다.
- new 키워드를 사용하여 객체를 생성할 때 초기화됩니다.
- 인스턴스 변수는 해당 클래스의 객체마다 개별적으로 유지됩니다.
- 클래스 변수 (Class Variable 또는 Static Variable):
- 클래스 단위에 속하는 변수로, 모든 객체가 공유하는 변수입니다.
- 클래스가 메모리에 로딩될 때 한 번 초기화되며, 모든 객체가 이 값을 공유합니다.
- 객체 생성 없이도 클래스 이름을 통해 접근할 수 있습니다 (ClassName.variableName).
- 주로 상수나 공통된 데이터를 저장하는 데 사용됩니다.
필드의 접근 제어자
필드는 접근 제어자(access modifier)를 사용하여 접근 범위를 설정할 수 있습니다. 다음은 주요 접근 제어자입니다:
- private: 같은 클래스 내에서만 접근할 수 있습니다.
- protected: 같은 패키지 내에서 또는 자식 클래스에서 접근할 수 있습니다.
- public: 어떤 클래스에서도 접근할 수 있습니다.
- default (package-private): 같은 패키지 내에서만 접근할 수 있습니다.
접근 제어자를 사용하여 필드의 캡슐화(encapsulation)를 유지하고 객체 지향 프로그래밍의 원칙에 따라 적절한 접근 제한을 부여할 수 있습니다.
자바의 필드는 클래스의 객체(인스턴스)의 상태를 나타내는 변수로, 객체마다 고유한 값을 가지는 인스턴스 변수와 모든 객체가 공유하는 클래스 변수로 나뉩니다. 각 필드는 접근 제어자를 사용하여 캡슐화 수준을 설정하고, 객체 지향 프로그래밍에서 중요한 역할을 합니다.
'Java' 카테고리의 다른 글
"섀도잉(Shadowing)"과 "하이딩(Hiding)" (0) | 2024.07.08 |
---|---|
캐스팅 ( Casting ) (1) | 2024.07.05 |
메서드(Method)와 생성자(Constructor) (0) | 2024.06.28 |
클래스(Class)의 개념 (0) | 2024.06.27 |
객체지향 프로그래밍(Object-Oriented Programming, OOP)의 특징 (0) | 2024.06.27 |