함수를 포함할수 있는 울타리가 기존에는 없었다 -> 필요 -> 만들어진 도구 : 클래스
데이터 구조와 함수를 모아논 것
=> 캡슐 (capsule)
캡슐밖에서는 영향을 받을 수 없도록 모아놓는 것 (함수를 새로 정리)
=> 캡슐화 <객체지향은 아니다>
처음부터 외부에서(캡슐밖에서) 사용할 수 없게 만드는 능력이 포함 -> 접근 제어 지시자로
protected -> 상속배울때 알아보자
캡슐화 해보기
왼쪽에 있던 오류난 함수들을 캡슐화해서 Lotto클래스 안에 넣었다
왜 print함수는 캡슐에 안 넣었는가? -> 콘솔출력용 함수이기 때문에
그렇다면 Program class 안에 콘솔출력용 함수(print)가 Lotto 캡슐의 private함수(nums) 사용할 수 있게 해보자
private 함수(nums)는 깨뜨리지 않고 그 값을 리턴받을 새로운 함수(getNum) 만들어주기
->초기화해야하는 부분이 메인함수에 있으면 nums때문에 캡슐이 깨지므로 초기화하는 함수를 캡슐안에 새로 생성
-> 잘 돌아감
main 함수안에서는 또 캡슐 깨져버려 -> getSize함수 새로 만들기
'뉴렉처 과정 기록 (Backend) > JAVA' 카테고리의 다른 글
static / instance (0) | 2021.03.26 |
---|---|
03/26 JAVA 객체지향(instance, static, this), 생성자 (0) | 2021.03.26 |
03/24 JAVA 캡슐화, 함수재사용, jra (0) | 2021.03.24 |
03/23 JAVA 구조화, 함수 (0) | 2021.03.23 |
03/22 JAVA 함수, 매개변수 (0) | 2021.03.22 |