info8995 님의 블로그

19일차(Get, Set함수) 본문

TIL(Today I Learned)/C++

19일차(Get, Set함수)

info8995 2025. 1. 13. 21:03

 

 

  • Player 클래스:
    • Gold라는 멤버 변수를 private로 선언하여 외부에서 직접 접근할 수 없도록 했습니다.
    • GetGold()는 Gold 값을 반환하는 getter 함수로, const로 선언하여 객체의 상태를 변경하지 않습니다.
    • SetGold(int NewGold)는 Gold 값을 설정하는 setter 함수로, 값 검증을 통해 음수 값이 설정되지 않도록 방어 로직을 추가했습니다.
  • main 함수:
    • Player 객체를 생성하고 SetGold(100)으로 골드를 설정합니다.
    • GetGold()를 사용하여 골드 값을 출력하고, 음수 값을 설정하려 할 때 검증을 통해 골드는 음수일 수 없습니다!라는 메시지를 출력합니다.

주의사항

  1. Getter는 const로 선언: 멤버 변수를 읽기만 하므로 객체의 상태를 변경하지 않음.
  2. Setter는 값 검증: 불합리한 값이 들어오지 않도록 방어 로직 작성.
  3. 단일 책임 원칙 준수: Get과 Set은 단순히 값을 가져오거나 설정하는 역할에 충실해야 함.

이 코드 구조는 private 멤버 변수를 안전하게 관리하며 외부에서 접근할 때 get과 set 메서드를 통해 데이터를 수정하거나 조회할 수 있도록 합니다.