# DIP

객체지향 5원칙 (SOLID)
😵 목적 정리한 개념들의 포스트들은 있지만, 한번에 보기 난해하고 전체적인 흐름을 바로 잡고 OOP의 더 깊이 있는 학습을 위해 정리하려고 한다.
DIP
Dependency Inversion Principle 구체화가 아닌 추상화에 의존해야한다. Se fier à des abstractions, pas à des concrétisations. 즉, 구현클래스(구현체)가 아니라 인터페이스(역활)에 의존해야
SOLID 원칙
클래스는 하나의 책임만 가져야 하고 클래스의 모든 기능은 그 책임을 수행하는데 집중되어야 한다는 원칙이다. 어떤 변화에 의해 클래스를 변경해야 하는 이유는 오직 하나뿐이어야함을 의미한다. 하나의 클래스가 여러 원인에 의해서 변경이 잦다면 각 책임을 별도의 클래스로 분할

[swift] 의존성 주입으로 코드를 예쁘게 하자!
🤔 의존성 주입을 하는 이유? 의존성 주입을 알아보기 전에 의존성 주입이란 것을 왜 해야하는 것일까? 객체끼리의 의존도가 높으면 한 객체에서 수정이 일어나게 되면 연관된 모든 객체를 손봐야 하는 경우가 있다. Unit test 를 할 경우에도 한 객체의 Test 만
SOLID 원칙
SOLID는 로버트 마틴이 정의한 객체 지향 설계의 5가지 원칙을 말합니다. 학교에서 소프트웨어공학 수업시간에 배울 당시에는 학문적인 부분에서만 나올 것 같은 내용이라 생각했지만, 객체 지향 프로그래밍을 할 때 깔끔한 코드 작성을 위해 지켜야함을 깨달았습니다.하나의 클

OOP 5대 원칙 SOLID
어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다.덧셈 로직을 바꾸고 싶다 → sum 클래스를 고친다 (O)덧셈과 뺄셈 로직을 바꾸고 싶다 → 계산기 로직을 바꾼다 (X)그리고 작은 클래스 여러개를 만들어서 한 곳에 몰아 넣기보다는 이름과 기능에 따라 명확한

[노개북 1기] TIL (2022.02.10)
🔖 오늘 읽은 범위 : 10장, 클래스클래스는 작아야 한다!이전 내용 복습 \*- 클래스를 만들 때 첫 번째 규칙은 크기다. 클래스는 작아야 한다일반적으로 메서드가 변수를 더 많이 사용할수록 메서드와 클래스는 응집도가 더 높다\*응집도를 유지하면 작은 클래스 여럿이
2월 넷째주 개발일지
지난주엔 사내 교육을 수강하고, 이번주엔 정보처리기사 기출문제 공부 및 엑셀 작업을 했는데 매일 반복되는 일들이 많아서 개발일지를 적지 않고 있었다. 그래도 한 주가 끝나가니 이번주 한 일을 정리해보려고 한다.정보처리기사 CBT 기출문제 풀기: 모의고사 3회씩 묶기 -

SOLID Principle
이전글들은 사실 이 원칙을 위해 달려온 것이 아닌가하는 생각이 든다. OOP의 정수로 불리우는 SOLID원칙에 대해서 깊게 알아보고, 실제 iOS Framework의 설계 방향에 대입하면서 보다 찐한 이해를 경험해보자.

SOLID DIP(의존 역전의 원칙)
DIP란 Dependency inversion principal의 약자로 클래스는 구체화된 클래스에 의존하지 않고 추상화된 객체(인터페이스, 추상클래스)에 의존해야하고, 고수준 모듈은 저수준 모듈에게 의존해서는 안된다는 의미이다.추상화된 객체에 의존해야하는 이유는 다음

[디자인패턴] SOLID | DIP (Dependency Inversion Principal), 의존성 역전 원칙
목적 : 유연셩이 극대화된 시스템설명 : 의존성이 구현 (implementation) 에 의존하지 않고, 추상 (abstraction, interface) 에 의존하는 형태DIP 의 아이디어 자체만 보면 비현실적 입니다. 대부분의 언어가 concrete object 를
1. 객제 지향 설계와 스프링
EJB 컨테이너 -> SpringEJB 엔티티빈 -> 하이버네이트 -> JPA스프링 기술스프링 프레임워크 : 핵심스프링 부트 : 편리하게 사용하도록 도와줌스프링 데이터스프링 세션스프링 시큐리티스프링 Rest Docs 스프링 배치스프링 클라우드스프링 프레임워크핵심 기술