본문 바로가기

객체 지향 프로그래밍18

[생성 패턴] 빌더 패턴 (Builder Pattern) 이란? 빌더 패턴 이란? • 복합 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴이다. • 복합 객체의 생성 과정을 단계별로 분리함으로써 복합 객체의 생성을 일반화 할 수 있다. • 빌더 패턴의 장점으로 필요한 데이터만 설정 가능, 유연성 확보, 가독성 향상, 불변성 확보가 있다. 빌더 패턴 구조 Builder 객체를 생성하는 추상 인터페이스 Concrete Builder Builder의 구현 클래스. 다른 객체를 생성할 수 있도록 하는 구체적인 클래스 객체를 만들기 위해 부분(부품)을 생성하고 조립한다. Director 객체 생성의 정확한 순서(sequence)를 다루는 부분에 책임이 있다. 이 클래스는 ConcreteBuilder를 인자로 받아서.. 2022. 5. 25.
JSON (JavaScript Object Notation)이란? JSON이란? JavaScript Object Notation라는 의미의 축약어로 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식 Javascript에서 객체를 만들 때 사용하는 표현식을 의미한다. JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서, 최근에는 JSON이 XML을 대체해서 데이터 전송 등에 많이 사용한다. JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다. JSON의 특징 서버와 클라이언트 간의 교류에서 일반적으로 많이 사용된다. 자바스크립트 객체 표기법과 아주 유사하다. 자바스크립트를 이용하여 JSON 형식의 문서를 쉽게 자바스크립트 객체로 변환할 수 있는 이점이 있다. JSON.. 2022. 4. 14.
리팩토링(Refactoring) 과 코드스멜 (Code Smell) ⦁ 리팩토링 (Refactoring) - 외부의 프로그램 동작은 변경하지 않고 프로그램 내부 구조를 개선하는 것 - 외부적 기능은 수정하지 않고 내부적 구조 및 관계를 단순화하여 소프트웨어 유지 보수를 향상시켜 품질을 높이는 것 ⦁ 코드 스멜 (Code Smell) - 개발자가 이해하거나 유지보수하기 어려워 리팩토링 대상 대상이 되는 코드 ⦁ 리팩토링의 중요성 - 설계 검증 - 코드 최적화 (To clean up messy code) - 코드 간결화 - 높은 가독성과 이해성 - 잠재적 오류 제거 - 디버깅 시간 단축 ⦁ 리팩토리 수행방안 - 소규모 변경 (단일 리팩토링) - 회귀테스트 (Retest All) - 테스트 통과 시 단계 상승 - 하나라도 미작동 시 Undo ⦁ 코드스멜 종류 1) 중복코드(D.. 2022. 4. 7.
객체 지향 4가지 특징과 5가지 원칙 객체지향 이란? • 객체지향 프로그래밍 (Object Oriented Programming, OOP)이란? - 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법 • 객체지향 프로그래밍 장 · 단점 장점 단점 - 코드 재사용 용이 상속을 통해 코드의 재사용을 높일 수 있다. - 유지보수의 우수성 캡슐화를 통해 유지보수가 쉽다. - 대형 프로젝트 적합 클래스 단위로 모듈화 개발로 업무 분담 - 개발속도가 느린 점 객체가 처리하려는 것에 대한 정확한 이해가 필요 - 실행속도가 느린 점 객체지향 언어가 대체적으로 실행속도가 느림 - 코딩 난이도 상승 다중 상속과 같은 이유로 복잡도 상승 OOP의 4가지 특징 • 캡슐화 - 데이터와 코.. 2022. 3. 21.