객체지향 프로그래밍(OOP)

Minseo Choi·2023년 5월 11일
0

절차적 언어

초기의 프로그래밍 언어는 일반적으로 절차적 언어라고 부른다.(C, 포트란 등)
모든 것을 절차적으로 생각하며 순차적인 명령의 조합을 절차적 언어라 한다.

객체 지향 언어

단순히 별개의 함수와 변수로 순차적으로 작동하는 것을 넘어 데이터의 접근과,
데이터의 처리과정에 대한 모형을 만들어 내는 방식을 고안했다. 바로 객체 지향 언어이다. 현대의 언어는 대부분 객체 지향의 특징을 가지고 있다.(Java,C++,C# 등)
자바스크립트도 마찬가지로 객체 지향으로 작성 가능하다.

OOP Basic Concepts

캡슐화
상속
추상화
다형성

크게 네 가지 개념이 있다.

캡슐화

  • 데이터와 기능을 하나의 단위로 묶는 것.
  • 은닉(Hiding): 구현은 시키고, 동작은 노출시킴.
  • 느슨한 결합(Loose Coupling)에 유리, 언제든 구현을 수정가능.

추상화

  • 내부구현은 복잡하지만, 실제로 노출시키는 부분은 단순하게 만든다는 개념.
  • 인터페이스가 단순해짐
  • 캡슐화와의 차이점: 캡슐화는 데이터 은닉에 포커스, 추상화는 클래스를 단순한 이름으로 정의하는 것에 포커스

상속

  • 부모클래스의 특징을 자식 클래스가 물려받는 것.

다형성

  • 동일한 메서드에 대해 객체의 특성에 맞게 달리 작성하는게 가능.
profile
개발자 되기

0개의 댓글