데이터 캡슐화와 사용 편의성을 동시에 제공하는 C#의 프로퍼티(Property) 활용법을 정리했다.
클래스 설계의 질을 높이는 요소이다.
캡슐화와 제어 로직 구현
프로퍼티를 사용하여 데이터를 정교하게 제어할 수 있다.
class User {
// 1. 자동 구현 프로퍼티: 간결한 필드 관리
public string Name { get; set; }
// 2. 읽기 전용 프로퍼티: 데이터 보존
public DateTime CreatedAt { get; } = DateTime.Now;
// 3. 검증 로직 포함 프로퍼티: 데이터 유효성 확인
private int _age;
public int Age {
get => _age;
set {
if (value < 0) throw new ArgumentException("나이는 음수일 수 없다.");
_age = value;
}
}
}
프로퍼티 사용의 이점
프로퍼티는 외부에서 변수처럼 보이나 내부적으로는 메서드로 동작한다.
이를 통해 데이터 검증이나 로깅 기능을 추가해도 외부 코드 수정 없이 내부 로직을 개선할 수 있다.
이는 유연한 설계를 가능하게 한다.
효율적 데이터 제어
프로퍼티는 객체지향 원칙인 데이터 보호와 사용 편의성을 구현한 문법이다.
람다 식을 활용한 간결한 표현은 가독성을 높인다.
이를 적극 활용하여 견고한 클래스를 설계해야 하는 것 같다.