일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- LifeCycle
- winston
- puppeteer
- javascript
- node.js
- Linux
- 알고리즘
- Kubernetes
- java
- JWT
- REST API
- dfs
- css
- 코딩테스트
- html
- 인접리스트
- Interceptor
- Spring
- Deep Dive
- typescript
- OOP
- 프로그래머스
- 탐욕법
- 자료구조
- GraphQL
- MySQL
- bean
- 인접행렬
- TIL
- nestjs
- Today
- Total
목록OOP (5)
처음부터 차근차근
OCP 좋은 객체 지향 설계 원칙 중 하나로 OCP 원칙이 존재합니다. 개방 폐쇄의 원칙이란, 기존의 코드는 변경하지 않으면서, 기능을 추가할 수 있도록 설계가 되어야 한다는 의미입니다. Open for extension: 새로운 기능의 추가나 변경 사항이 생겼을 때, 기존 코드는 확장할 수 있어야 한다. Closed for modification: 기존의 코드는 수정되지 않아야 한다. 즉, 확장(새로운 기능이 추가)에는 열려있고, 변경에는 닫혀 있다는 뜻입니다. 확장에 열려있다 모듈의 확장성을 보장하는 것을 의미한다. 새로운 변경 사항이 발생했을 때 유연하게 코드를 추가함으로써 애플리케이션의 기능을 큰 힘을 들이지 않고 확장할 수 있다. 변경에 닫혀있다 객체를 직접적으로 수정하는건 제한해야 한다는 것을..
코드를 작성할 때 일정한 제약이나 규율이 없이 무한한 자유를 준다면, 의외로 더 작성하기 힘든 때가 존재합니다. 어떻게 하면 보다 효율적이고 효과적으로 작성하기 위해 원칙이나 제약을 고민하거나 작성하는 시간이 더 투자되고, 이로 인하여 Resource가 소모되곤 합니다. 우리는 대부분 백엔드 개발을 한다고 하면 객체 지향으로 프로그래밍 합니다. 하지만 이것이 어떤 원칙에 입각되야 하는지 잘 알아야 조금 더 효율적이고 효과적인 코드를 작성할 수 있습니다. 이번 시간에는 객체 지향 설계의 5원칙을 알아보겠습니다. S.O.L.I.D 객체 지향 설계 5원칙 SOLID원칙이란 객체 지향 설계에서 지켜줘야 할 5개의 소프트웨어 개발 원칙을 의미합니다. SRP(Single Responsibility Principle..
Java는 Class 기반 객체 지향 프로그래밍입니다. 하지만 지금까지 작성했던 코드들은 모두 절차 지향 프로그래밍이였습니다. 두 개의 차이점과 어떻게 하면 객체 지향 프로그래밍으로 작성하는지 알아보겠습니다. 절차 지향 vs 객체 지향 절차 지향 프로그래밍 절차를 지향합니다. 쉽게 이야기해서 실행 순서를 중요하게 생각하는 방식입니다. 프로그램의 흐림이 순차적으로 따르며 처리하는 방식입니다. 즉, "어떻게"를 중심으로 프로그래밍 합니다. 객체 지향 프로그래밍 이름 그대로 객체를 지향합니다. 쉽게 이야기해서 객체를 중요하게 생각하는 방식입니다. 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍 하는 방식입니다. 즉, "무엇을" 중심으로 프로그래밍 합니다. 차이점 절..
오늘 한 일 팀스파르타 면접 정리 객체 지향 프로그래밍 팀스파르타 면접 정리 팀 스파르타 면접에 대비하여 면접 예상 질문 정리, 1분 자기소개 정리를 하였다. 이력서 관련 질문을 받았을 때, 내가 얼마나 답변을 잘 못할지 예상 할 수 있었고, 이를 통해 프로젝트 전반적으로 다시 돌아볼 수 있는 시간이 되었다. 또한 옛날에 공부하였던 내용들도 정리할 수 있어서 좋았다. 객체 지향 프로그래밍 객체 지향 프로그래밍을 왜 쓰는지 다시 공부하고, 어떻게 동작하는지 공부하였다. 복습을 하고 면접 준비도 하는 겸 정리를 다시 한 번 진행하였다. 객체 지향 프로그래밍은 프로그램 구현에 필요한 객체를 파악하고, 각각의 객체들의 역할이 무엇인지를 정의하여 객체들 간의 상호작용을 통해 만드는 것을 의미합니다. 특징으로는 1..
객체 지향 프로그래밍(OOP)란? 컴퓨터 프로그램을 명령어릐 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것 - wikipedia 프로그램 구현에 필요한 객체를 파악하고, 각각의 객체들의 역할이 무엇인지 정의하여 객체들 간의 상호작용을 통해 만드는 것을 의미한다. 즉, 객체가 중심이 되어, "어떤 객체가 무슨 일을 할 것인가??" 가 핵심이다. 우리가 사용하는 언어에서 간단히 표현하자면, 데이터를 객체로 취급하여 객체 내부에 선언된 메서드를 사용하는 방식을 의미한다. 왜 객체 지향 프로그래밍이 나왔을까? Object-Oriented Programming 이전에는 명령어의 목록을 나열(절차 지향)하는 프로그래밍 방식을 사용하였다. 절차 지향 프로그래밍은 ..