[디딤돌 C++] 26. 캡슐화 최종 실습 – 구체적 구현

학생) 멤버 필드 값을 특정 범위 내에 있다면 설정자 메서드를 구현하여 버그 발생을 줄이세요.

이제 마지막으로 메서드를 구체적으로 구현합시다. 약속한 기능을 구현하면서 필요하면 별도의 메서드를 추가하세요. 여기에서 추가하는 메서드는 다른 형식에서 호출해서 사용하지 않는 메서드이므로 접근 지정을 private으로 지정하세요.

 

특히 멤버 필드의 값이 특정 범위 내에 있어서 필터링을 요구하면 설정자 메서드를 추가하여 구현하세요. 설정자 메서드에서 멤버 필드 값을 범위 내에서 조절하는 기능을 작성하면 버그를 만들 확률을 줄일 수 있습니다. 여러분께서 각자 구현해 본 후에 비교해 보세요.

 

여기에서는 지력, 체력, 스트레스, 연속으로 공부한 횟수는 범위가 정해져 있습니다. 이에 이들 멤버 필드 값을 설정하는 설정자를 추가합시다. 물론 이들 메서드는 형식 외부에서 직접 접근할 수 없게 private으로 접근 지정하세요.

 

설정자 메서드에서는 입력 인자로 받은 값이 최대값과 최소값을 벗어나지 않게 설정하세요.

다른 설정자도 같은 방법으로 구현합니다.

생성자에서 이름은 입력 인자로 받은 값으로 설정하고 나머지 멤버들은 디폴트 값으로 설정하세요.

“공부하다.” 메서드에서는 먼저 무엇을 하는지 출력 후에 시나리오에 맞게 값을 설정하세요.

나머지 메서드도 같은 방법으로 구현하세요. 그리고 구현하였으면 제대로 동작하는지 테스트하고 잘못 작성한 부분이 있으면 수정하세요.

 

다음은 이제까지 실습한 전체 코드입니다.

▷ 실행 결과

10명의 학생 생성 후 소멸(순차적으로 주민 번호 부여 테스트)

주민 번호:1 이름:테스트

지력:100 체력:100 스트레스:0

주민 번호:2 이름:테스트

지력:100 체력:100 스트레스:0

주민 번호:3 이름:테스트

지력:100 체력:100 스트레스:0

주민 번호:4 이름:테스트

지력:100 체력:100 스트레스:0

주민 번호:5 이름:테스트

지력:100 체력:100 스트레스:0

주민 번호:6 이름:테스트

지력:100 체력:100 스트레스:0

주민 번호:7 이름:테스트

지력:100 체력:100 스트레스:0

주민 번호:8 이름:테스트

지력:100 체력:100 스트레스:0

주민 번호:9 이름:테스트

지력:100 체력:100 스트레스:0

주민 번호:10 이름:테스트

지력:100 체력:100 스트레스:0

 

주민 번호:11 이름:홍길동

지력:100 체력:100 스트레스:0

공부하다 8회 실시

11,홍길동 공부하다.

주민 번호:11 이름:홍길동

지력:100 체력:95 스트레스:0

11,홍길동 공부하다.

주민 번호:11 이름:홍길동

지력:101 체력:90 스트레스:0

11,홍길동 공부하다.

주민 번호:11 이름:홍길동

지력:103 체력:85 스트레스:0

11,홍길동 공부하다.

주민 번호:11 이름:홍길동

지력:106 체력:80 스트레스:0

11,홍길동 공부하다.

주민 번호:11 이름:홍길동

지력:110 체력:75 스트레스:0

11,홍길동 공부하다.

주민 번호:11 이름:홍길동

지력:115 체력:70 스트레스:0

11,홍길동 공부하다.

주민 번호:11 이름:홍길동

지력:120 체력:65 스트레스:0

11,홍길동 공부하다.

주민 번호:11 이름:홍길동

지력:125 체력:60 스트레스:0

주민 번호:12 이름:홍길동

지력:100 체력:100 스트레스:0

공부하다 3회 실시

12,홍길동 공부하다.

주민 번호:12 이름:홍길동

지력:100 체력:95 스트레스:0

12,홍길동 공부하다.

주민 번호:12 이름:홍길동

지력:101 체력:90 스트레스:0

12,홍길동 공부하다.

주민 번호:12 이름:홍길동

지력:103 체력:85 스트레스:0

강의받다 3회 실시

12,홍길동 강의받다.

주민 번호:12 이름:홍길동

지력:106 체력:82 스트레스:3

12,홍길동 강의받다.

주민 번호:12 이름:홍길동

지력:106 체력:79 스트레스:3

12,홍길동 강의받다.

주민 번호:12 이름:홍길동

지력:106 체력:76 스트레스:3

공부하다 1회 실시

12,홍길동 공부하다.

주민 번호:12 이름:홍길동

지력:106 체력:71 스트레스:1


[C++ 무료 동영상 강의] 26. 캡슐화 최종 실습 – 구체적 구현