반응형
객체지향 프로그래밍이 무엇인지, 특징은 무엇인지 간단히 정리해보자. 예전에 강의에서 객체지향 프로그래밍과 그 특징에 대해 배웠는데 처음엔 너~~무 이해가 안돼서 몇 달간 요약했던 글을 다시 보고 다시 봐도 이해가 안됐다. 배운지 한 6개월이 지난 지금 다시 보니 이해가 잘된다. 역시 첫 술에 배부를 수 없고, 기적에는 시간이 반드시 필요하다.
이건 작년에 내가 썼던 글인데, 블로그 형식도 엉망진창이고 내용 정리도 제대로 안되어있지만 나에게는 너무 귀여운 추억같은 글이다 :)
OOP란?
하나의 모델이 되는 청사진(blueprint)을 만들고, 그 청사진을 바탕으로 한 객체를 만드는 프로그래밍 패턴이다.
객체란 ? 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미하며, 값을 저장 할 변수와 작업을 수행 할 메소드를 서로 연관된 것들끼리 묶어서 만든 것이다.
자바스크립트는 여러 가지 특성으로 객체지향 언어의 특징을 구현해낼 수 있다.
클래스, 생성자, 메서드
상속
캡슐화
OOP의 특징
- 상속 : 클래스의 속성과 행위를 하위 클래스에 물려주거나 하위 클래스가 상위 클래스의 속성과 행위를 물려받는 것을 말한다. 새로운 클래스가 기존의 클래스의 데이터와 연산을 이용할 수 있게 하는 기능이다.
- 다형성 : 하나의 클래스 내부에 같은 이름의 행위를 여러개 정의하거나(오버로딩) 상위 클래스의 행위를 하위 클래스에서 재정의(오버라이딩)하여 사용할 수 있다.
- 캡슐화 : 데이터와 기능을 하나의 단위로 느슨한 결합으로 묶는 것이다. 속성과 기능을 정의하는 변수와 메소드를 클래스라는 캡슐에 넣어서 분류하는 것으로 재활용이 원활하다는 장점이 있고, 내부 데이터나 내부 구현이 외부로 노출되지 않도록 만드는 은닉화를 가능하게 한다.
- 추상화 : 공통적인 속성이나 기능을 묶어서 타입을 정의하는 것이다. 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단하게 만드는 것이다.
이해하는데에 참고한 블로그)
정리가 정말 잘 되어있다! 객체 지향 프로그래밍의 특징을 이해하는데 도움을 준 블로그이다 :)
반응형
'CS > Javascript' 카테고리의 다른 글
이벤트 버블링, 캡쳐링 및 이벤트 위임 (0) | 2023.03.31 |
---|---|
변수란? 변수의 선언/초기화/할당 (0) | 2023.03.30 |
자바스크립트는 어떤 언어인가? (0) | 2023.03.29 |
자바스크립트 렉시컬 환경이란? (0) | 2023.03.28 |
isNaN() 반환 값?! (0) | 2023.03.15 |