이번에는 단계별로 캡슐화를 실습해 보기로 해요. 여러분께서는 각 단계별로 먼저 직접 해 본 후에 비교하시기 바랍니다. 여기에서는 다음의 시나리오를 캡슐화 실습할 거예요.
다음 내용처럼 학생 데이터를 정의하시오.
- 멤버 필드
주민번호: 순차적 부여
이름: 생성 시 전달
지력:100(최소 0, 최대 200)
체력: 100 (최소 0, 최대 200)
스트레스: 0 (최소 0, 최대 100)
연속으로 공부한 횟수: 0 (0,5), 공부를 하면 1 증가, 그 외의 행위를 하면 0으로 리셋, scnt로 부름
- 명령할 수 있는 메서드(접근 지정이 public)
공부하다(체력 5소모, 지력: scnt 만큼 증가, 스트레스: 2감소)
강의를 받다.(체력 3소모, 지력: scnt 만큼 증가, 스트레스: scnt 만큼 증가)
잠자다.(체력 10회복, 스트레스: 5감소)
휴식하다.(체력 3회복, 스트레스: 25감소)
음료를 마시다.(체력 5회복, 지력: 10감소 , 스트레스: 2증가)
노래하다.(체력 10 소모, 지력: 5-scnt감소, 스트레스: 5-scnt증가)
이름 가져오기, 주민번호 가져오기,지력 가져오기, 체력 가져오기, 스트레스 가져오기
* 가져오기에서는 scnt를 변화시키지 않습니다.
실습은 다음과 같은 단계로 진행할 거예요.
- 멤버 필드 결정하기
시나리오를 보고 학생 클래스에 필요한 멤버 필드의 형식과 유형(비정적 멤버, 정적 멤버, 상수화 멤버 필드 등)을 결정하세요.
- 멤버 메서드 결정하기
시나리오를 보고 멤버 메서드 이름과 입력 인자 리스트, 반환 형식을 정의하세요.
- 테스트 코드 작성하기
학생 클래스를 제대로 작성한 것인지 확인하는 테스트 코드를 작성하세요.
- 멤버 메서드 구현하기
실제로 학생 클래스의 멤버 메서드를 구체적으로 구현하세요.