ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 객체지향 프로그래밍(OOP)
    Front-end/TypeScript 2021. 5. 21. 19:40

    절차지향적 프로그래밍 : 정의된 순서대로 절차적으로 함수를 하나씩 호출하는 프로그래밍 

    함수가 얽혀있고 데이터가 업데이트 될수있기때문에 전체적인 어플리케이션의 구조를 잘 파악해야하며, 수정시 사이드이펙트가 발생할 확률이 높다. 

     

    객체지향적 프로그래밍 :  관련있는 데이터와 함수를 객체로 정해서 프로그래밍해나가는것

    사람과 가까운 생각을 하면서 객체를 구성해나감. 한 곳에서 문제가 생기면 관련있는 객체만 수정하면 된다. 또한 관련된 기능일때는 재사용도 가능하며 확장성이 높아진다.

    객체지향 프로그래밍은 생산성과 높은품질을 보장한다. 

    객체지향적 프로그래밍의 특징

    1. Encapsulation (캡슐화) : 서로 관련있는 데이터와 함수를 객체로 묶어내고 데이터와 함수를 감추거나 보여지게 하는 것. 

    타입스크립트는 캡슐화를 지원한다. private 제한자를 통해 변수은닉화가 가능하다. 

    2. Abstaction (추상성) : 객체의 기능들을 외부에서 인터페이스를 통해 사용하는 것. 

    3. Inheritance (상속)

    상속을 통해 클래스를 재사용 할 수 있다. (IS-A관계) 

    ex) HTMLElement는 Element를 상속받았고 Element는 Node를 상속받았다. 

    4. Polymorphism (다형성) : 상속을 통해 만들어진 하위클래스에 정의된 함수를 이용해서 어떤 특징을 가진 하위클래스인지 상관없이 공통적으로 함수를 호출 할 수 있다.

    • 유사한 스트럭쳐를 많이 가진 스트럭쳐

    Poly => many  / Morphy => form (어떤 형태) 

     

Designed by Tistory.