- 객체 지향 프로그래밍
자바스크립트는 객체 지향 프로그래밍을 지원하는 스크립트 언어이고 객체 지향 프로그래밍은 객체를 중심으로 프로그래밍하는 패러다임이다. 객체란 데이터와 해당 데이터를 조작하는 메서드(함수)를 함께 묶어 놓은 것을 의미한다. 객체는 클래스를 통해 만들어진다.
객체 지향 프로그래밍의 장점은 코드의 재사용성과 유지보수성이 높다는 점이다. 객체는 독립적으로 작성되어, 다른 객체와의 상호작용을 통해 완성된 프로그램을 만들기 때문에 코드의 재사용성이 높다. 또한, 객체는 속성과 메서드를 함께 묶어 놓았기 때문에, 코드의 가독성과 유지보수성에 이점이 있다.
하지만 객체 지향 프로그래밍은 복잡한 객체 간의 관계를 구성하기 위해 많은 노력이 필요하며, 오버헤드가 큰 경우도 있어, 상황에 따라서 객체 지향 프로그래밍을 사용하기 적합한 경우와 그렇지 않은 경우를 판단해야한다
- 캡슐화
캡슐화란 객체의 상태와 행위를 하나로 묶어서 객체 내부에 은닉하는 것을 말한다. 즉, 객체의 내부 데이터와 메서드를 외부에서 직접 접근할 수 없도록 제한하는 것이다. 이를 통해 객체 내부의 데이터를 안전하게 보호할 수 있고. 자바스크립트에서는 closure와 symbol 등을 이용하여 캡슐화를 구현할 수 있다.
- 추상화
추상화란 객체의 공통된 속성과 행위를 추출하여 모델링하는 것을 말한다. 즉, 객체를 구성하는 속성과 메서드 중에서 필요한 부분만 추려내어 불필요한 세부사항을 감추는 것이다. 이를 통해 객체를 단순하게 만들어 사용자가 이해하기 쉽고 유지보수하기 용이하게 만들 수 있다.
- 상속
상속은 부모 객체의 속성과 메서드를 자식 객체에서도 사용할 수 있도록 하는 것이고, 자식 객체는 부모 객체의 속성과 메서드를 물려받아 사용할 수 있기 때문에 코드의 재사용성이 높아 진다. 자바스크립트에서는 prototype과 class를 이용하여 상속을 구현할 수 있다.
- 다형성
다형성은 객체지향 프로그래밍에서 같은 이름의 메서드나 속성이 다른 객체에서 다른 동작을 수행하도록 하는 것을 의미한다. 즉, 같은 이름의 메서드나 속성을 사용하지만, 다른 결과를 얻을 수 있다. 이를 통해 코드의 일관성을 유지하면서 다양한 상황에 대응할 수 있다. 자바스크립트에서는 오버로딩이 지원되지 않기 때문에, 함수의 인자나 반환값을 이용하여 다형성을 구현할 수 있다.
'JavaScript' 카테고리의 다른 글
| JavaScript - Class, Instance, new , (0) | 2023.05.11 |
|---|---|
| JavaScript - JavaScript Koans (0) | 2023.05.01 |
| JavaScript 원시자료형&참조자료형 (0) | 2023.04.27 |
| Linux Basic Command /기초 명령어 (0) | 2023.04.24 |
| JavaScript Variable(변수) (0) | 2023.04.21 |
