PracticeEveryday
JavaScript 에서의 객체지향 본문
요약
- 객체지향 프로그래밍은 프로그래밍 산업이 발전할 떄 프로그램의 덩치가 커져가면서 생기는 문제점을 해결하기
위해 나온 하나의 관점이자 방법론입니다.
- 기존의 방식으로는 변수들을 하나씩 관리하다 보니 변수명을 공유해서 써야 되는 문제들이 발생했기 떄문입니다.
- 연관있는 이름들을 하나로 묶어주는 구조체라는 타입을 만드니 데이터를 중심으로 프로그래밍을 할 수 있었습니다.
- 그렇다면 데이터와 함수를 한 데 묶어 관리하면 어떨까?
=> 이렇게 하니 하나의 큰 프로그래밍을 작은 문제를 해결하는 독립적인 단위로 만들 수 있게 되었습니다.
=> 이렇게 작은 단위로 관리를 할 수 있게 되니 개발과 유지 보수가 간편하게 된다는 장점을 알게 되었습니다.
- 이러한 객체를 설계하고 찍어낼 수 있는 구조를 클래스라고 하고, 클래스에서 만들어진 인스턴스를 Object라고 하며
프로그래밍의 모든 것들을 이러한 객체로 간주, 객체 간의 상호작용을 중심으로 생각하고 설계하는 프로그래밍 개념이
바로 Object - Oriented Programming ( OOP ) = 객체지향 프로그래밍 입니다.
- 객체라는 개념을 기반으로 만들어진 코드의 일부분들을 보다 효율적으로 재사용하기 위해서 캡슐화, 상속, 추상화,
다형성이라는 추가적인 개념이 도입되면서 객체지향은 발전해 왔습니다.
- 그러던 중 JavaScript라는 언어는 객체지향의 패러다임은 계승하면서도 단순하고 간단한 언어를 추구하다 보니
Java의 문법을 쓰지만 함수형을 기반으로 하는 Class- Free Prototype 기반 OOP라는 독특한 변화구를 가진 객체지향
맛 언어가 탄생하게 되었습니다.
- JavaScript는 함수형 언어도 객체지향 언어도 아니지만 또 함수형 언어이기도하고 객체지향 언어이기도 합니다.
많은 사람들의 손이 타다 보니 여러 취향을 반영할 수 있는 재미난 언어가 되어버렸습니다.
- 객체 지향의 패러다임은 대부분 Java가 전성기이던 시절에 완성이 되었습니다.
물론 지금이야 멀티 패러다임 언어가 흔해졌기에 모두가 그렇지는 않지만 대부분의 객체지향 패러다임은 온전히
JavaScript와 맞는 옷은 아닙니다.
- 데이터와 메소드를 기반으로 작은 문제를 독립적으로 해결할 수 있는 작은 프로그램들을 만들어 코드의 재사용을
높이고, 개발자와 유지보수를 편하게 할 수 있다는 간결한 문법의 장점은 취하고
- 객체를 연결하는 과정에서 과도하게 객체 지향을 통해 만들어진 복잡한 구조를 만들지 않도록 지양하고, 적절한 선
안에서 함수형 프로그래밍이 가진 장점과 결합하는 것이, 현대 JavaScript에서 객체지향 프로그래밍을 잘한다라고
볼 수 있을 것 같습니다.
자바스크립트에서 객체 지향을 하는 게 맞나요? | 요즘IT
이번 글에서는 객체지향 프로그래밍에 대해 이야기를 해보려고 합니다. 그리고 자바스크립트의 객체지향은 일반적인 객체지향 프로그래밍과는 어떻게 다른지 그리고 Javascript에서는 객체지향
yozm.wishket.com
'정리 > Question' 카테고리의 다른 글
ESlint (0) | 2022.06.15 |
---|---|
JavaScript 에서의 객체지향 (0) | 2022.06.14 |
JavaScript 에서의 객체지향 (0) | 2022.06.14 |
JavaScript 에서의 객체지향 (0) | 2022.06.14 |
@types (0) | 2022.06.04 |