자바 스크립트와 디자인 패턴 : 객체 지향부터 알고 가기.

Junebeom Lee·2021년 7월 21일

Design Pattern

목록 보기
3/3

개인적인 생각이론 프로그래밍은 결국 반복과 중복을 줄이는 것이다. 그래서 절차 지향 문법에서 for나 if와 같은 분기문으로 세 번 작성할 것을 두 번으로 줄이는 것이다.

객체 지향도 마찬가지이다. 한 장에 작성할 변수와 함수를 묶어서 인스턴스화를 통해 전제적인 관리를 하는 것이고 함수형 프로그래밍은 함수를 값으로 보고 결국 값을 도출하는 방법으로

결국 중복과 반복을 줄이면서 결합을 최소화(응집도는 최대화) 하는 방향을 찾고 있는 것이다.

물론 이것은 개인적으로 접하면서 내린 결론이다. 빠른 성장을 위해서 공부를 시작해보자.

"객체는 붕어빵이 아니다 !"

객체가 붕어빵이라는 비유에는 모순이 있다.
책에서는 객체 지향을 이렇게 설명한다.
클래스는 개념이고 객체는 실체이다.

학생이나 선생이나 같은 사람이다. 결국 개념이란 공통된 특성을 내열해두는 일인 것이다.
아직까지 공통된 점을 묶는다는 나의 생각과 비슷하다.

"상속은 부모님과 자식이 아니다!"

상속을 역시 처음 배울 때 부모님의 DNA나 재산과 같은 비유가 많다.
하지만 상속의 키워드는 extends 즉 확장 이다.
즉 기존의 개념을 가지는 더 구체적인 개념을 생성하는 것이다.
예를 들어, 강아지나 고양이는 동물이다.
Dog extends Animal. Cat extends Animal

클래스와 상속은 우리가 아는 내용이지만 이러한 오해를 고치고 개념을 바로 잡아가는 것들이
개발자가 설계 단계에 있을 때 구상하는 능력을 키울 수 있다고 생각한다.

"인터페이스는 able to .. "

인터페이스는 우리가 알 듯 클래스에 레고처럼 추가할 수 있는 부분이다.

SOLID 원칙

솔리드는 객체 지향의 5대 원칙이다.

SRP : 단일 책임 원칙
OCP : 개방 폐쇄 원칙
LSP : 리스코브 치환 원칙
ISP : 인터페이스 분리 원칙
DIP : 의존 역전 원칙

아래의 내용은 다음에 살펴보도록 하겠다.

profile
Javascript(Typescript), JAVA(Kotlin), Python, Dart

0개의 댓글