필드

Field

클래스나 구조체에서 데이터를 저장하는 변수

 

클래스나 구조체 내부에서 선언됨

주로 private로 선언해 캡슐화

 

 

 

프로퍼티

Property

외부에서 필드를 간접적으로 제어할 수 있게 하는, 메서드와 비슷하게 구조화된 코드 블록

 

get, set 접근자를 사용

get: 값을 읽을 때 호출. return 으로 값을 반환해야 한다

set: 값을 설정할 때 호출

 

private set, private get 으로 읽기 전용, 쓰기 전용으로 설정 가능

 

데이터 캡슐화와 동시에, 외부에서 값을 안전하게 사용할 수 있도록 함

 

자동 구현 프로퍼티

public int value1 {get; set;}

 

 

 

필드와 프로퍼티의 차이

  • 필드: 클래스 내부에서 직접 사용, 프로퍼티: 클래스 외부에서도 접근 가능
  • 필드: 데이터를 저장하는데에 초점, 프로퍼티: 데이터의 접근과 검증에 초점
  • 필드: 단순히 값을 저장, 프로퍼티: 접근자(get, set)를 사용해 로직 추가 가능

 

 

 

필드는 가능한 private로 선언

외부와의 상호작용은 프로퍼티 사용