자바에서 필드(Field)는 클래스 내부에 선언된 변수로, 클래스의 객체(인스턴스)의 상태를 나타냅니다. 필드는 클래스의 데이터를 저장하고 객체의 상태를 유지하는 역할을 합니다. 필드는 객체의 속성을 표현하며, 클래스의 모든 메서드에서 접근할 수 있습니다.

 

필드의 종류

자바에서는 크게 인스턴스 변수와 클래스 변수(static 변수)로 나눌 수 있습니다.

  1. 인스턴스 변수 (Instance Variable):
    • 각각의 객체(인스턴스)마다 고유한 값이 가질 수 있는 변수입니다.
    • 객체가 생성될 때마다 각 객체마다 별도의 인스턴스 변수가 생성됩니다.
    • new 키워드를 사용하여 객체를 생성할 때 초기화됩니다.
    • 인스턴스 변수는 해당 클래스의 객체마다 개별적으로 유지됩니다.
  2. 클래스 변수 (Class Variable 또는 Static Variable):
    • 클래스 단위에 속하는 변수로, 모든 객체가 공유하는 변수입니다.
    • 클래스가 메모리에 로딩될 때 한 번 초기화되며, 모든 객체가 이 값을 공유합니다.
    • 객체 생성 없이도 클래스 이름을 통해 접근할 수 있습니다 (ClassName.variableName).
    • 주로 상수나 공통된 데이터를 저장하는 데 사용됩니다.

 

필드의 접근 제어자

 

필드는 접근 제어자(access modifier)를 사용하여 접근 범위를 설정할 수 있습니다. 다음은 주요 접근 제어자입니다:

  • private: 같은 클래스 내에서만 접근할 수 있습니다.
  • protected: 같은 패키지 내에서 또는 자식 클래스에서 접근할 수 있습니다.
  • public: 어떤 클래스에서도 접근할 수 있습니다.
  • default (package-private): 같은 패키지 내에서만 접근할 수 있습니다.

접근 제어자를 사용하여 필드의 캡슐화(encapsulation)를 유지하고 객체 지향 프로그래밍의 원칙에 따라 적절한 접근 제한을 부여할 수 있습니다.

 

 

 

자바의 필드는 클래스의 객체(인스턴스)의 상태를 나타내는 변수로, 객체마다 고유한 값을 가지는 인스턴스 변수와 모든 객체가 공유하는 클래스 변수로 나뉩니다. 각 필드는 접근 제어자를 사용하여 캡슐화 수준을 설정하고, 객체 지향 프로그래밍에서 중요한 역할을 합니다.

+ Recent posts