[OOP] GoF(Gang of Four) 디자인 패턴 장점 과 종류 !!
·
Knowledge/디자인 패턴
SOLID 랑 이것 저것 찾아보다가 디자인 패턴은 어떤 것 들이 있을까 해서 찾아봤습니다..공부 할게 너무너무 많은 것 일단 종류만 먼저 정리해 볼게요 !! 디자인 패턴(Design Pattern)이란?개발 중 발생하는 반복적인 문제들에 대한 해결책으로, 많은 개발자가 인정한 모범 사례(Best Practice)입니다. 객체 지향 4대 특성과 SOLID 원칙을 기반으로 합니다. 디자인 패턴의 장점재사용성: 검증된 솔루션을 재사용하여 반복적인 문제 해결가독성: 명확한 구조로 코드를 이해하기 쉬움유지보수성: 모듈화가 용이하여 변경 시 해당 부분만 수정 가능확장성: 기존 코드를 건드리지 않고 새로운 기능 통합 용이안정성: 수많은 검증을 거친 신뢰할 수 있는 방식 🍳 객체 지향과 디자인 패턴의 비유프로..
[OOP] 객체 지향 설계의 5가지 원칙 - S.O.L.I.D
·
Knowledge/디자인 패턴
📚Design Pattern:SOILDProblem Source: GitHub - Sw_Pilot_Java (Chapter 4 / Step 4) SOLID 원칙이란?객체지향 설계 5대 원칙으로, 유지보수성과 확장성을 높이고 코드의 복잡도를 줄이기 위한 핵심 설계 지침입니다.SOLID 원칙은 특정 언어나 프레임워크에 종속되지 않는, "변화에 유연하고 유지보수하기 쉬운 코드"를 만들기 위한 기본 철학입니다. 1. SRP: 단일 책임 원칙 (Single Responsibility Principle)"한 클래스는 하나의 책임(기능)만 가져야 한다."하나의 클래스에 여러 책임이 섞여 있으면, 한 기능의 변경이 다른 기능에 연쇄적인 영향을 줄 수 있습니다. 책임을 명확히 분리하면 변경의 파급효과를 줄이고 유지..
Math.sqrt() 없이 제곱근 구하기 (바빌로니아 알고리즘과 재귀함수)
·
Knowledge/알고리즘
우리는 코딩할 때 Math.sqrt(5) 한 줄이면 제곱근을 구할 수 있는 세상에 살고 있습니다.하지만 컴퓨터가 없던 4,000년 전 고대 바빌로니아 사람들은 도대체 어떻게 제곱근을 계산했을까요? 단순히 라이브러리를 가져다 쓰는 것을 넘어, 그 내부에서 어떤 수학적 원리가 작동하는지'바빌로니아 알고리즘'을 통해 파헤쳐 보고, 이를 자바 재귀 함수로 직접 구현해 보겠습니다.▲ 로딩 중... 아니, 계산 중인 오리계산기 없이 √5를 구해봐갑자기 누군가 당신에게 √5가 몇인지 묻는다면 어떻게 대답할까요?"2보다는 크고 3보다는 작으니까... 2.2 정도 되려나?"대충 짐작은 할 수 있지만, 정확한 값을 찾기는 어렵습니다. 컴퓨터 내부에서도 이와 비슷한 고민을 합니다.정확한 값을 한 번에 '뿅' 하고 내놓는 공..