본문 바로가기
Java Study

필드(Field)

by xogns93 2024. 6. 28.

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

 

필드의 종류

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

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

 

필드의 접근 제어자

 

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

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

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

 

 

 

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