관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

캡슐화와 정보 은닉 1 - 접근 제한자 본문

프로그래밍 언어/자바

캡슐화와 정보 은닉 1 - 접근 제한자

huenuri 2024. 8. 18. 09:09

접근 제한자는 엘리스 4주차 수업에 나오지만 이 공부를 먼저 진행해보려고 한다. 수업 시간에서 소개했지만 그건 짧게 짚고 넘어가는 거라 여기서 공부하는 것이 더 나을 것 같다.

그럼 바로 공부를 시작해보자!


 

 

 

 

이론 1 - 접근 제한자

 

어떤 것을 어느정도까지, 어떻게 보호하게 될지 배우게 된다.

 

 

 

 

 

 

가장 중요한 것은 private이다. 어떤 것으로부터 보호해야 할지 공개해야 할지 구분하는 것이 가장 중요하다.

 

 

 

 

 

 

사용자는 호출자, 클래스 외부에서 말하는 것이다.

 

 

 

 

 

효과 즉 결과는 공개하지만 과정은 보호한다.

 

 

 

 

 

 

 

목적지에 가는 것이 중요하다. 캡슐화는 의존성을 낮주고 결합도를 낮추는 것이다.

 

 

 

 

 

 

 

 

클래스 외부에서는 수정할 수 없다. 내부에서만 수정 가능하다는 뜻이다.

 

 

 

 

 

외부에서 사용하려면 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

잘못된 값을 방어할 수 있다. 여기서 호출의 대상은 메서드가 된다. 함수를 왜 메서드라고 이름을 붙였을까? 그것은 함수를 이용하는 방법이기 때문이다.

 

 

 

 

멤버변수는 기본적으로 private이고 메서드는 public이다.

 

 

 

 

 

 

변수와 메서드 앞에 접근 제한자를 붙이는 습관을 들이는 것이 좋다.

 

 

 

 

 

 

 

 

클래스에 대해서도 붙일 수 있다.

 

 

 

 

 

기본적으로는 default이다. public class는 자바 파일명을 가리키는 메소드이다. 공개된 클래스이므로 어디서든 접근 가능하다. 

 

 

 

 

 

 

 

 

 

 

 

 

캡슐화를 통해 내부 자원을 보호하는 법을 알아본다.


 

 

 

 

퀴즈 1 - 캡슐화

 

 


 

 

 

 

 

퀴즈 2 - 접근 제한자

 

 

이렇게 해서 퀴즈 문제를 모두 맞추었다. 이제 실습 문제를 풀어보기로 하자!


 

 

 

 

 

실습 1 - 캡슐화 활용해보기 1

 

 


 

 

 

 

 

메소드와 클래스 공부를 열심히 해서 그런지 이 문제가 하나도 어렵지 않고 오히려 쉽게 느껴졌다. 그래도 하나 배운 게 있다면 매개변수가 없을 때 return에서 그냥 변수만 쓰면 된다는 것이다.


 

 

 

 

실습 2 - 캡슐화 확인해보기 2

 

 


 

 

 

 

이번 실습 문제는 조금 어려웠다. 영상을 몇 번이나 참고하면서 풀었고 특히 getter와 setter가 어려운 것 같다. 다음에 복습할 때 꼭 다시 한번 풀어보려고 한다.


 

 

 

 

학습을 마치고

이것으로 접근제한자 학습을 마친다. 이제 책을 통해서 이 부분을 좀더 심도 있게 다루어볼 것이다. 다음 공부도 무척 기대가 된다.