Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
Tags
- class
- cookie
- OCR
- Express
- 자료구조
- mongoose
- Queue
- Python
- nodejs
- dfs
- nestjs
- MongoDB
- react
- MySQL
- 공룡게임
- jest
- TypeScript
- Nest.js
- 게임
- Bull
- game
- Dinosaur
- flask
- 정렬
- AWS
- Sequelize
- GIT
- typeORM
- JavaScript
Archives
- Today
- Total
포시코딩
추상화(Abstraction) 본문
728x90
추상화(Abstraction)
코드를 읽기 쉽도록 원래 있던 코드를 분리하면서, 새로운 함수를 만들어 나가는 과정을 '추상화'라고 한다.
이렇게 추상화된 코드는 보통 역할에 맞는 파일에 묶여서 관리된다.
추상화는 우리가 작성하는 함수와 비슷하다.
만약, '서버와 소켓으로 연결된 모든 클라이언트에 메시지를 보내는 기능'을 구현하려면 다음과 같이 작성할 것이다.
// 1. 함수 생성
function sendMessageAll(message) {
// 2. 메시지를 보내기 위한 로직 작성
// ...생략
}
이렇게 단순히 함수로 만든 기능도 '추상화'라고 부를 수 있다.
내가 만든 sendMessageAll 이라는 기능을 사용하는 다른 개발자는
sendMessageAll 이라는 기능에서 코드가 어떻게 작성됐는지 굳이 알 필요가 없다.
내가 socket.io 라이브러리를 이용해서 기능을 구현했든, 직접 웹 소켓을 만들어서 기능을 구현했든
신경쓰지 않아도 되고 동작만 하면 되는 것이다.
이렇게 '서버와 소켓으로 연결된 모든 클라이언트에 메시지를 보내는 기능'이라는 내용을
sendMessageAll 이라는 함수 하나로 '추상화'해보았다.
728x90
'Node.js' 카테고리의 다른 글
아키텍처 패턴(Architecture Pattern) (0) | 2022.12.28 |
---|---|
도메인(Domain) (0) | 2022.12.28 |
객체 지향 설계 5원칙 (SOLID) (0) | 2022.12.28 |
객체 지향 프로그래밍 (Object-Oriented Programming, OOP) (0) | 2022.12.26 |
객체지향(Object-Oriented) (0) | 2022.12.26 |