TIL 50-1 | 객체지향(OPP) 간단정리

ym j·2021년 7월 15일
0

etc

목록 보기
2/6
post-thumbnail

객체 지향(Object Oriented Programming)

  • 객체지향 프로그래밍이란, 프로그램을 객체로 정의해서 객체들끼리 의사소통할 수 있는 형태로 작업해 나가는 방법을 뜻한다. (절차 지향 반대되는 프로그래밍 방법론이다.)

  • 관련된 오브젝트를 재사용하거나, 특정 오브젝트에서 문제가 생겼을 시 관련 있는 오브젝트만 수정하면 가능하기에 버그픽스와 재사용성에서 이점을 갖 있다. 새로운 기능이 필요하다면 새로운 오브젝트를 생성하면 되므로 확장성 또한 좋다.



객체 지향의 특징

  • 생산성 높으며 신속한 기능 구현 및 추가, 효율적인 유지 보수를 가능케 한다.

  • Object 내 data, function들이 포함된다.

  • 객체 내 데이터들을 fields 혹은 일반적으로 우리가 부르는 property라고 부른다.

  • 클래스를 통해 인스턴스(객체)를 만들어 낼 수 있다.



객체 지향의 원칙

  1. Encapsulation(캡슐화)

    • 관련 있는 데이터 및 함수들을 묶어서 한 덩어리로 만드는 것을 뜻한다.

    • 외부에서 볼 필요가 없는 데이터를 숨김으로써 캡슐화를 진행한다.

  2. Abstraction(추상화)

    • 내부의 복잡한 로직이 아닌, 외부의 간단한 인터페이스를 통해 비교적 간단하게 사용할 수 있도록 한 것이다. (마치, 리액트의 함수형 컴포넌트에서 관련 function들을 메인 컴포넌트 바깥에 위치시킨 것과 같은 느낌?같다)
  3. Inheritance(상속)

    • 상속을 이용하면, 정의해 둔 클래스로 재사용을 할 수 있다. (일일이 모든 클래스를 선언할 필요가 없어진다.)
  4. Polymorphism(다형성)

    • 위 3가지를 통해 다형성, 즉 활용도 높임


Reference

  • 드림코딩 엘리님의 TS 및 OPP 강의
profile
블로그를 이전하였습니다 => "https://jymini.tistory.com"

0개의 댓글