일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- puppeteer
- 자료구조
- dfs
- JWT
- 코딩테스트
- Kubernetes
- LifeCycle
- Deep Dive
- css
- javascript
- typescript
- java
- TIL
- REST API
- MySQL
- GraphQL
- OOP
- nestjs
- 인접행렬
- 탐욕법
- 알고리즘
- winston
- Linux
- 인접리스트
- bean
- Spring
- Interceptor
- 프로그래머스
- node.js
- html
- Today
- Total
목록Architecture pattern/Design Pattern (4)
처음부터 차근차근
OCP 좋은 객체 지향 설계 원칙 중 하나로 OCP 원칙이 존재합니다. 개방 폐쇄의 원칙이란, 기존의 코드는 변경하지 않으면서, 기능을 추가할 수 있도록 설계가 되어야 한다는 의미입니다. Open for extension: 새로운 기능의 추가나 변경 사항이 생겼을 때, 기존 코드는 확장할 수 있어야 한다. Closed for modification: 기존의 코드는 수정되지 않아야 한다. 즉, 확장(새로운 기능이 추가)에는 열려있고, 변경에는 닫혀 있다는 뜻입니다. 확장에 열려있다 모듈의 확장성을 보장하는 것을 의미한다. 새로운 변경 사항이 발생했을 때 유연하게 코드를 추가함으로써 애플리케이션의 기능을 큰 힘을 들이지 않고 확장할 수 있다. 변경에 닫혀있다 객체를 직접적으로 수정하는건 제한해야 한다는 것을..
코드를 작성할 때 일정한 제약이나 규율이 없이 무한한 자유를 준다면, 의외로 더 작성하기 힘든 때가 존재합니다. 어떻게 하면 보다 효율적이고 효과적으로 작성하기 위해 원칙이나 제약을 고민하거나 작성하는 시간이 더 투자되고, 이로 인하여 Resource가 소모되곤 합니다. 우리는 대부분 백엔드 개발을 한다고 하면 객체 지향으로 프로그래밍 합니다. 하지만 이것이 어떤 원칙에 입각되야 하는지 잘 알아야 조금 더 효율적이고 효과적인 코드를 작성할 수 있습니다. 이번 시간에는 객체 지향 설계의 5원칙을 알아보겠습니다. S.O.L.I.D 객체 지향 설계 5원칙 SOLID원칙이란 객체 지향 설계에서 지켜줘야 할 5개의 소프트웨어 개발 원칙을 의미합니다. SRP(Single Responsibility Principle..
이번 포스팅에서는 객체 지향 프로그래밍의 특징 중 하나인 다형성에 대해 조금 더 깊게 공부해보겠습니다. 객체 지향 프로그래밍에 대한 포스팅을 먼저 보고 오는 것을 추천드립니다. [OOP] 객체 지향 프로그래밍이란? 객체 지향 프로그래밍(OOP)란? 컴퓨터 프로그램을 명령어릐 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것 - wikipedia 프로그램 구현에 필요한 hangju95.tistory.com 다형성?? 다형성(Polymrophism) 어떤 객체의 속성이나 기능이 상황에 따라 여러 가지 형태를 가질 수 있는 성질 즉, 어떤 객체의 속성이나 기능이 그 맥락에 따라 다른 역할을 수행할 수 있는 객체 지향의 특성을 의미합니다. 이를 통해 객체 지향 ..
객체 지향 프로그래밍(OOP)란? 컴퓨터 프로그램을 명령어릐 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것 - wikipedia 프로그램 구현에 필요한 객체를 파악하고, 각각의 객체들의 역할이 무엇인지 정의하여 객체들 간의 상호작용을 통해 만드는 것을 의미한다. 즉, 객체가 중심이 되어, "어떤 객체가 무슨 일을 할 것인가??" 가 핵심이다. 우리가 사용하는 언어에서 간단히 표현하자면, 데이터를 객체로 취급하여 객체 내부에 선언된 메서드를 사용하는 방식을 의미한다. 왜 객체 지향 프로그래밍이 나왔을까? Object-Oriented Programming 이전에는 명령어의 목록을 나열(절차 지향)하는 프로그래밍 방식을 사용하였다. 절차 지향 프로그래밍은 ..