인프런 커뮤니티 질문&답변

생각하는자님의 프로필 이미지
생각하는자

작성한 질문수

김영한의 실전 자바 - 기본편

접근 제어자 이해2

접근제어자

해결된 질문

작성

·

381

·

수정됨

0

 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.


1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
접근제어자를 공부하던 도중 Speaker 클래스 예제를 통해 변수에 privet를써러 외부 호출을 막는 경우를 보았습니다. 근데

생성자에서 볼륨이 100보다 크게 만들어도

사진과 같이 볼륨이 200이 되었습니다.
이러한 경우 생성자 클래스안에
이렇게 바꿔도 되는지? 아니면 다른 방법이 있는지 궁금합니다.

답변 1

1

안녕하세요. 생각하는자님, 공식 서포터즈 y2gcoder입니다.

좋은 리팩토링 방향 같습니다! 아예 생성자에서 볼륨을 받지 않고 인스턴스 생성시 volume을 0이나 기본값으로 초기화하고, 외부에서 Speaker의 volume을 조작하는 방법은 volumeUp 이나 volumeDown 과 같은 메서드만 제공하는 방법도 있습니다!

감사합니다.

생각하는자님의 프로필 이미지
생각하는자

작성한 질문수

질문하기