본문 바로가기

전체 글292

2024.08.06 (화) { 팩토리 메서드 패턴, 싱글톤패턴, 프로토타입패턴, CSV&JSON } 팩토리 메서드 패턴 (Factory Method Pattern)팩토리 메서드 패턴은 객체 생성의 인터페이스를 정의하되, 구체적인 클래스의 인스턴스를 만드는 작업은 서브클래스에서 수행하도록 하는 생성 패턴입니다. 이를 통해 객체 생성 코드를 추상화하고, 객체 생성의 책임을 서브클래스에 위임하여 코드의 유연성과 확장성을 높입니다.주요 개념Creator (창조자): 객체 생성을 위한 팩토리 메서드를 선언하는 추상 클래스 또는 인터페이스.ConcreteCreator (구체적 창조자): Creator를 상속하거나 구현하며, 팩토리 메서드를 오버라이드하여 구체적인 제품 객체를 생성하는 클래스.Product (제품): 팩토리 메서드에 의해 생성되는 객체의 타입을 정의하는 인터페이스 또는 추상 클래스.ConcreteP.. 2024. 8. 6.
UML(Unified Modeling Language) [참고] UML은 다이어그램을 사용하여 시스템이나 데이티베이스를 시각화하는 방법입니다.소프트웨어 개발에서 소프트웨어 시스템을 계획하기 위해 자주 사용됩니다. UML Diagram Type   UML Class DiagramUML (Unified Modeling Language) 클래스 다이어그램은 소프트웨어 시스템의 클래스들과 그들 간의 관계를 시각적으로 표현하는 도구입니다. UML 클래스 다이어그램은 주로 객체 지향 소프트웨어 개발 과정에서 사용되며, 시스템의 구조를 분석하고 설계하는 데 중요한 역할을 합니다.클래스 다이어그램은 시스템의 초기 설계 단계에서 매우 유용하며, 개발자들이 시스템의 구조를 명확하게 이해하고, 객체 간의 상호작용을 쉽게 파악할 수 있게 도와줍니다. 또한, 클래스 다이어그램은 시.. 2024. 8. 5.
Artifact 소프트웨어 개발에서 "아티팩트(Artifact)"는 개발 과정에서 생성된 모든 산출물을 의미합니다. 이는 문서, 소스 코드, 실행 파일, 테스트 스크립트 등 다양한 형태로 존재할 수 있습니다. 아티팩트는 소프트웨어 개발 생명주기(SDLC)의 각 단계에서 생성되며, 프로젝트 관리, 유지보수, 협업에 중요한 역할을 합니다. 주요 아티팩트 종류요구사항 문서: 시스템의 요구사항을 명세한 문서입니다. 예를 들어, 소프트웨어 요구사항 명세서(SRS)가 포함될 수 있습니다.설계 문서: 시스템 설계와 관련된 문서입니다. 예를 들어, 아키텍처 다이어그램, 데이터베이스 설계 문서 등이 있습니다.소스 코드: 실제 구현된 프로그램 코드입니다.컴파일된 바이너리: 소스 코드를 컴파일한 후 생성된 실행 파일이나 라이브러리 파일입니.. 2024. 8. 5.
SOLID(객체 지향 설계 원칙) http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod ArticleS.UncleBob.PrinciplesOfOodThe Principles of OOD What is object oriented design? What is it all about? What are it's benefits? What are it's costs? It may seem silly to ask these questions in a day and age when virtually every software developer is using an object oriented languagebutunclebob.comSOLID는 객체 지향 프로그래밍에서의 다섯 가지 원칙을 의미합니다... 2024. 8. 5.
OCP(Open-Closed Principle, 개방-폐쇄 원칙) OCP(Open-Closed Principle, 개방-폐쇄 원칙)은 객체 지향 프로그래밍의 SOLID 원칙 중 하나로, 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고 변경에는 닫혀 있어야 한다는 원칙을 의미합니다. 즉, 기존 코드를 수정하지 않고 새로운 기능을 추가할 수 있도록 설계해야 한다는 것입니다. OCP의 주요 개념확장에 열려 있어야 한다(Open for extension): 새로운 기능이나 요구사항이 생길 때, 기존 코드를 변경하지 않고 확장할 수 있어야 합니다.변경에 닫혀 있어야 한다(Closed for modification): 기존의 잘 작동하는 코드를 변경하지 않고도 새로운 기능을 추가할 수 있어야 합니다. 이를 통해 기존 기능의 안정성을 유지할 수 있습니다.O.. 2024. 8. 5.
POJO(Plain Old Java Object) POJOPOJO(Plain Old Java Object)는 특별한 규약이나 상속 없이 순수하게 자바 언어만으로 작성된 객체를 의미합니다. 이는 특정 프레임워크나 라이브러리에 종속되지 않고, 자바 객체 본연의 형태를 유지하는 것을 강조합니다. POJO는 다음과 같은 특징을 가지고 있습니다:간단성: POJO는 복잡한 프레임워크 인터페이스나 클래스를 상속받지 않습니다. 대신, 표준 자바 클래스로서 필요한 필드, 메서드(게터와 세터 포함)를 가지며, 다른 일반 자바 객체처럼 작동합니다.재사용 가능성과 테스트 용이성: POJO는 의존성이 적기 때문에 다른 환경에서 재사용하기 쉽고, 단위 테스트하기에도 간편합니다.투명성: POJO는 특정 프로토콜이나 환경에 종속되지 않기 때문에 코드의 명확성과 이해하기 쉬움을 제공.. 2024. 8. 5.