# Item 16 발표 내용

## Intro

![intro](https://554043693-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MSm3cZika9wPcLt2w9B%2Fsync%2Fe39b3c5ba6e44847c5195bf784dab601e45b83fe.png?generation=1621997092496360\&alt=media)

## 참조 자료 및 목차

* 참고 자료
  * [Access Modifiers in Java](https://www.baeldung.com/java-access-modifiers)
  * [Controlling Access to Members of a Class](https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html)

![reference](https://554043693-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MSm3cZika9wPcLt2w9B%2Fsync%2F9f70c53d1552953b5ac278c523d9144eaa0a8b97.png?generation=1621997088553204\&alt=media)

## 캡슐화에 대한 브레인 스토밍

![Object Oriented Principle](https://554043693-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MSm3cZika9wPcLt2w9B%2Fsync%2F47ef92e6e233d52efd31568c4c162eeb76150fb6.png?generation=1621997089581351\&alt=media)

## 캡슐화를 위반하여 생기는 OOP 원칙

* 객체 지향 설계 5원칙 (SOLID)
  * SRP: Single Responsibility Principle
  * OCP: Open Cloned Principle
  * LSP: Liskov Substitution Principle
  * ISP: Interface Segregation Principle
  * DIP: Dependency Inversion Principle

![캡슐화와 연관된 OOP 원칙](https://554043693-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MSm3cZika9wPcLt2w9B%2Fsync%2Fd4c4ca01cf76d0ab286c818c4f032da174ec2f27.png?generation=1621997091647307\&alt=media)

## 자바에서 제공하는 캡슐화 기능

* Java
  * Access Modifier
    * private
    * protected
    * default (package-private)
    * public

![Access Modifier](https://554043693-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MSm3cZika9wPcLt2w9B%2Fsync%2Fd6ad846cfbc61e943699bf0bc60e8b54e721de8d.png?generation=1621997090636858\&alt=media)

## public 클래스에서 상호작용하는 방식

![public 클래스](https://554043693-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MSm3cZika9wPcLt2w9B%2Fsync%2Fb12e402c3aecf92e44eca150e4629e1d3d7bb895.png?generation=1621997087595745\&alt=media)

## package-private or private 클래스에서 상호작용하는 방식

![package-private or private 클래스](https://554043693-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MSm3cZika9wPcLt2w9B%2Fsync%2Fd05709c6e95cc05a7ee848661188bc0bee9ad30a.png?generation=1621997094783351\&alt=media)

## 정리

![정리](https://554043693-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MSm3cZika9wPcLt2w9B%2Fsync%2Fb5f0326dbdffdd51f62a9790db844c7531dda0a8.png?generation=1621997093580364\&alt=media)
