본문 바로가기

Node

객체지향 패턴(Object-Oriented Patterns)

 

객체지향 패턴(Object-Oriented Patterns)

 

객체지향 패턴은 객체 지향 프로그래밍에서 자주 발생하는 문제를 해결하기 위한 일반적인 설계 솔루션이다.이러한 패턴은 코드의 재 새용성을 높이고 유지보수를 용이하게하며 시스템의 구조를 명확하게 만드는데 도움이 된다.

객체지향 패턴의 3가지 유형

  1. 생성 패턴 (Creational Patterns) 객체 생성과 관련된 패턴으로 객체를 생성하는 방법을 정의하여 유연성을 제공한다. ex) 싱글턴(singleton) , 팩토리 메서드(Factory Method) 등이 있다.
  2. 구조 패턴 (Structural Patterns) 클래스나 객체를 조합하여 더 큰 구조를 형성하는 패턴이다. ex) 어댑터(Adapter) , 데코레이터(Decorator) , 컴포지트(Composite) 등이 있다.
  3. 행동 패턴 (Behavioral Patterns) 객체 간의 상호 작용과 책임 분배를 정의하는 패턴이다. ex) 옵서버(Observer) , 전략(Strategy) , 상태(State) 패턴 등이있다.

객체지향 패턴의 장단점

  • 장점
  1. 코드 재사용성
  2. 가독석 및 유지보수성
  3. 데이터 캡슐화
  4. 다형성
  • 단점
  1. 절차 지향 패턴보다 많은 메모리와 처리 시간이 소모될 가능성이 있다.
  2. 복잡하다.
  3. 러닝커브가 상대적으로 높다.

JS에서 클래스 란?

  1. ES6에서 도입된 객체를 생성하기 위한 템플릿이다.
  2. class키워드를 사용하여 정의할 수 있다.
  3. 생성자,인스턴스 메서드를 가질 수 있고 상속이 가능하다.

JS에서 클래스 상속은 어떻게 이루어 지는가?

  1. extends 키웓드를 사용해서 구현할 수 있다.
  2. super() 함수를 사용하면 부모 클래스의 생성자를 호출할 수 있다.
  • extends 와 super()주요 포인트
더보기

 

클래스 상속을 구현하는데 사용되는 키워드다.한 클래스가 다른 클래스를 기반으로 새로운 클래스를 생성할 수 있다. 상속을 통해 부모 클래스의 속성과 메서드를 자식 클래스에서 사용할 수 있다.


    1. 상속 : Dog클래스는 Animal 클래스를 상속바다 speak메서드를 오버라이드 한다.
    2. 부모 클래스의 생성자 호출 : 자식 클래스의 생성자에서 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