객체지향 패턴(Object-Oriented Patterns)
객체지향 패턴은 객체 지향 프로그래밍에서 자주 발생하는 문제를 해결하기 위한 일반적인 설계 솔루션이다.이러한 패턴은 코드의 재 새용성을 높이고 유지보수를 용이하게하며 시스템의 구조를 명확하게 만드는데 도움이 된다.
객체지향 패턴의 3가지 유형
- 생성 패턴 (Creational Patterns) 객체 생성과 관련된 패턴으로 객체를 생성하는 방법을 정의하여 유연성을 제공한다. ex) 싱글턴(singleton) , 팩토리 메서드(Factory Method) 등이 있다.
- 구조 패턴 (Structural Patterns) 클래스나 객체를 조합하여 더 큰 구조를 형성하는 패턴이다. ex) 어댑터(Adapter) , 데코레이터(Decorator) , 컴포지트(Composite) 등이 있다.
- 행동 패턴 (Behavioral Patterns) 객체 간의 상호 작용과 책임 분배를 정의하는 패턴이다. ex) 옵서버(Observer) , 전략(Strategy) , 상태(State) 패턴 등이있다.
객체지향 패턴의 장단점
- 장점
- 코드 재사용성
- 가독석 및 유지보수성
- 데이터 캡슐화
- 다형성
- 단점
- 절차 지향 패턴보다 많은 메모리와 처리 시간이 소모될 가능성이 있다.
- 복잡하다.
- 러닝커브가 상대적으로 높다.
JS에서 클래스 란?
- ES6에서 도입된 객체를 생성하기 위한 템플릿이다.
- class키워드를 사용하여 정의할 수 있다.
- 생성자,인스턴스 메서드를 가질 수 있고 상속이 가능하다.
JS에서 클래스 상속은 어떻게 이루어 지는가?
- extends 키웓드를 사용해서 구현할 수 있다.
- super() 함수를 사용하면 부모 클래스의 생성자를 호출할 수 있다.
- extends 와 super()주요 포인트
더보기
클래스 상속을 구현하는데 사용되는 키워드다.한 클래스가 다른 클래스를 기반으로 새로운 클래스를 생성할 수 있다. 상속을 통해 부모 클래스의 속성과 메서드를 자식 클래스에서 사용할 수 있다.
- 상속 : Dog클래스는 Animal 클래스를 상속바다 speak메서드를 오버라이드 한다.
- 부모 클래스의 생성자 호출 : 자식 클래스의 생성자에서 super()를 호출하여 부모 클래스의 생성자를 호출 할 수 있다.
// 부모 클래스 class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name}가 소리를 냅니다.`); } } // 자식 클래스 class Dog extends Animal { speak() { console.log(`${this.name}가 멍멍합니다.`); } } const dog = new Dog('바둑이'); dog.speak(); // 출력: 바둑이가 멍멍합니다. //super 예시 class Dog extends Animal { constructor(name, breed) { super(name); // 부모 클래스의 생성자 호출 this.breed = breed; } }
'Node' 카테고리의 다른 글
커넥션 풀(Connection Pool) (2) | 2024.11.04 |
---|---|
process.exit() 메서드 (0) | 2024.11.01 |
TCP 이해하기 (0) | 2024.10.28 |
socket 이벤트 / 버퍼(Buffer) (0) | 2024.10.23 |
Socket.io 기본 기능 (0) | 2024.09.30 |