728x90
ERD처럼 class도 설계를 할 때 UML 모델링 작업을 한다. UML은 소프트웨어 설계 및 개발에 사용되는 표준화된 표기법 및 시각적 언어인 'Unified Modeling Language'의 약자이다. UML 다이어그램은 종종 소프트웨어 개발자가 복잡한 시스템 설계를 시각화하고 전달하는 데 도움을 주기 위해 사용하며, 여러 팀원이 동일한 코드를 이해하고 작업해야 하는 공동 개발 프로젝트에 특히 유용하다. 클래스 다이어그램, 개체다이어그램, 시퀀스다이어그램 등 여러 시점에 따라서 다른 다이어그램으로 표현할 수 있으며, 보통 설계 단계에서 작성하게 된다. 클래스 다이어그램의 경우 구현 해야 할 메서드나, 멤버변수에 대해서 표현되어 있다. 일반적으로 소스 코드로만 봤을 때, 여러 클래스가 있는 경우 클래..
상품을 할인하는 로직을 구현할 때, 객체지향 프로그래밍의 원칙을 최대한 지키면서 구현했다. //단순히 할인된 가격을 구하는 인터페이스 interface Discount { getDiscountPrice(price: number): number } //가격을 이용한 할인된 가격을 구하는 클래스 class FlatDiscount implements Discount { //할인하는 금액 private amount: number constructor(amount: number) { this.amount = amount } //할인된 가격을 구하기 getDiscountPrice(price: number): number { return price - this.amount } } // 퍼센트를 이용한 할인된 가격을 ..
목차 1. Interface 2. 인터페이스 속성 기본 속성 선택적 속성 읽기 전용 속성 3. 클래스로 데이터 타입 지정하기 4. OOP 1. Interface 코드를 구현하기 위해서 필요한 것은 아니지만 객체의 모양이나 구조를 정의하는 방법 내 오타 같은 실수를 막을 수 있고, 다른 사람이 코드를 봤을 때 직관적으로 보고, 재사용할 수 있도록 도와준다. 동작을 하는 코드가 아니고 구현을 위한 코드가 아니기 때문에 추상적이라고 말할 수 있다. 그래서 JS로 변환하는 과정에서 'Interface'는 변환되지 않는다. 2. 인터페이스 속성 예시 코드 interface IBoard { id: number title: string content: string date: number hit: number like..
목차 1. 객체지향 프로그래밍 (OOP) 2. 객체지향설계 5대 원칙 (SOLID) 3. 추상화와 구체화 4. 추상화와 구체화 코드 예시 1. 객체지향 프로그래밍 (OOP) 객체 개념을 기반으로 하는 프로그래밍이다. 복잡하지만 모듈식이여서 재사용 가능하다. 객체 지향 프로그래밍을 하게 된다면 얻는 이점으로 모듈성, 재사용성, 유연성, 유지보수성이 있다. 1. 모듈성 : 작고, 관리하기 쉬운 단위로 나누어서 데이터와 동작을 캡슐화하여 코드를 더 쉽게 이해하고 유지 관리 할 수 있다. 2. 재사용성 : 상속과 구성을 통해 코드의 재사용성을 높였다. 기존 클래스를 확장하거나, 결합하는 클래스를 생성하여 중복 코드를 작성할 필요성을 줄일 수 있다. 3. 유연성 : 요구사항에 유연하게 대처할 수 있는 코드를 만들..