자바스크립트 - 객체지향 프로그래밍

_dodo_hee·2023년 10월 26일
0

JAVASCRIPT

목록 보기
16/17
post-thumbnail

객체지향 프로그래밍은 무엇을 의미하나요? 🔥
객체지향 프로그래밍의 특징에 대해 말해볼 수 있나요? 🔥
자바스크립트는 객체지향 프로그래밍 언어인가요?

객체지향 프로그래밍

독립적인 객체의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임

프로그램을 명령어 또는 함수의 목록으로 보는
전통적인 명령형 프로그래밍의 절차지향적 관점에서 벗어나
여러 개의 독립적인 단위, 즉 객체의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임을 말한다.

객체지향프로그래밍은 실체(사물이나 개념)을 인식하는 철학적 사고를 프로그래밍에 접목을 시도한 것에서 시작됐다.

  • 실체 : 특징이나 성질을 나타내는 속성

사람은 이름, 주소, 성별, 나이 등 다양한 속성을 갖는다.
이때 이름이 강영현이고, 주소는 JYP인 성별은 남성이며, 나이는 31살인 사람과 같이 속성을 구체적으로 표현하면 특정한 사람을 다른 사람과 구별하여 인식 할 수 있다.

추상화

다양한 속성중에서 프로그램에 필요한 속성만 간추려내서 표현하는 것이 추상화

사람에게는 다양한 속성이 있지만, 우리가 구현하려는 프로그램에서는 사람의 "이름", "주소" 라는 속성에만 관심이 있다고 했을때, 다양한 속성중에서 프로그램에 필요한 속성만 간추려내서 표현하는 것이 추상화이다.

객체

속성을 통해 여러 개의 값을 하나의 단위로 구성한 복합적인 자료구조

객체지향프로그래밍 특징

캡슐화(Encapsulation)

데이터와 코드를 외부로부터 영향을 받지 않게 하고 데이터의 역할, 기능단위로 만드는 캡슐형태다.

상속(Inheritance)

상위 클래스의 속성을 하위 클래스가 물려 받는것 이다.

추상화(abstraction)

추상화는 필요없는 특성은 제거하고 공통적인 속성과 기능을 추출하여 정의하는것을 말한다

다형성(Polymorphism)

상위 클래스의 특징을 가지고 있지만 하위 클래스만의 다양한 형태의 클래스가 존재함을 말한다.
상속되었을 때 자식이 부모의 유전자를 가지고 있지만 자식만의 특징을 가지고 있는 것과 비슷하다

자바스크립트는 객체지향 프로그래밍일까?

아니다.
자바스크립트는 객체 지향 언어로 개발되지 않았기때문에 객체지향 프로그래밍으로 보기 어렵다.

하지만 자바스크립트에 Class 속성을 사용해서 객체 지향 프로그래밍을 할 수 있다.







참고자료

profile
무럭무럭 자라나는 도도 개발성장일기

0개의 댓글