객체지향 프로그래밍(OOP)
- OOP의 기본 컨셉은 실 세계의 일들을 객체를 사용해서 모델링 한다.
- 객체를 사용하지 않으면 불가능 혹은 무지 어려웠을 일들을 쉽게 처리하는 방법을 제공


→ 함수의 개체 수가 많아지는 문제가 발생
→ 어떻게 함수를 수납할 것인가
→ 구조화된 데이터를 사용하는 함수 모듈의 독립성을 침해하는 문제를 해결할 수 있기 때문에
→ 함수는 외부의 수정에 의해 절대 영향을 받아서는 안된다.
캡슐화를 하면
- 데이터 구조에 따른 코드의 수정범위를 캡슐 범위로 한정할 수 있다.
- 데이터 구조와 함수를 하나의 영역에 함께 정의하는 것
package part3.ex1.캡슐화;
public class ExamList {
Exam[] exams1;
int current;
static void printList(ExamList list) {
}
static void printList(ExamList list, int size) {
}
static void inputList(ExamList list) {
}
public static void init(ExamList list) {
list.exams = new Exam[3];
list.current = 0;
}
}
→ 캡슐화를 통해서 오류가 나타나는 범위를 캡슐 내부로 한정

객체지향적인 함수 호출 방식으로의 변화하기

→ public static void : 함수
→ public void : 클래스의 메서드
캡슐을 깨지 못하게 하는 도구 : 접근 제어 지시자

→ private : 캡슐을 깨지지않게 막아주는 지시자 → 절대로 외부에서 쓸 수 없도록 함
→ public : 캡슐 중 서비스를 하는 것들을 보여줌