- 지금까지는 한가지 목적에 맞춰서 한 개의 클래스에 모든 것들을 만들었다.
- 하지만 이제부터는 한가지 목적을 위해 여러 종류의 클래스를 사용하게 된다.
- 예를 들어 게시판 프로그램의 경우에는 "회원기능"이라는 측면과 "게시판"이라는 측면 두가지 분야로 나뉘고 거기에 맞춰 여러가지 클래스를 준비해주어야 한다.
- 만약 여러 분야가 있는 프로그램을 하나의 클래스 안에 모두 다 적을 경우, 한 분야의 유지보수를 하려면 그 전체 프로그램을 모두 다 뜯어 봐야 할 것이다.
- 또한 이렇게 통째로 만들어진 프로그램은 코드의 재사용성 측면에서 매우 부족한 모습을 보인다.
- 만약 목적에 맞추어 클래스를 나누면 특정 분야의 클래스들만 다른 곳에서 재사용하는 것도 가능하다.
- 객체지향의 5가지 원칙
- SOLID
- S : Single Responsibility Principle. 단일 책임 원칙.
- O : Open-Closed Principle. 개방-폐쇄 원칙.
- L : Liskov Substitution Principle. 리스코프 치환 원칙.
- I : Interface Segregation Principle. 인터페이스 분리 원칙.
- D : Dependency Inversion Principle. 의존성 역전 원칙.
- 여기서 우리가 반드시 신경을 써야하는 것은 바로 단일 책임 원칙이다.
- 단일 책임 원칙은 하나의 클래스는 하나의 책임만 지고 있어야 한다는 의미를 가지고 있다.
- 만약 단일 책임 원칙이 제대로 지켜진다면, 게시판이라는 목적을 위해 데이터타입, 데이터 제어, 데이터 출력을 각각 담당하는 3개의 클래스가 필요해진다.
- 단일 책임 원칙을 지키기 위한 프로그래밍 방법론 중에 MVC 패턴이라는 것이 있다.
- MVC 패턴이란 한가지 목적을 위해 클래스를 모델, 뷰어, 컨트롤러 3가지로 나누어 개발하는 방법론이다.
- 모델 : 데이터타입을 담당
- 뷰어 : 화면 출력을 담당
- 컨트롤러 : 데이터 제어를 담당
'~2023.02 > 외부교육' 카테고리의 다른 글
[JAVA] 콜렉션(Collection) (0) | 2022.03.19 |
---|---|
[JAVA] 객체(Object) & 캡슐화(Encapsulation) (0) | 2022.03.19 |
[JAVA] 배열의 동적 할당(Dynamic Allocation) (0) | 2022.03.16 |
[JAVA] Call By Valeue(값에 의한 호출) & Call By Reference(참조에 의한 호출) (0) | 2022.03.15 |
[JAVA] 메서드(Method) (0) | 2022.03.12 |