PracticeEveryday

JavaScript 에서의 객체지향 본문

정리/Question

JavaScript 에서의 객체지향

kimddakki 2022. 6. 14. 20:39
요약

 - 객체지향 프로그래밍은 프로그래밍 산업이 발전할 떄 프로그램의 덩치가 커져가면서 생기는 문제점을 해결하기 

   위해 나온 하나의 관점이자 방법론입니다.

 - 기존의 방식으로는 변수들을 하나씩 관리하다 보니 변수명을 공유해서 써야 되는 문제들이 발생했기 떄문입니다.

 - 연관있는 이름들을 하나로 묶어주는 구조체라는 타입을 만드니 데이터를 중심으로 프로그래밍을 할 수 있었습니다.

 - 그렇다면 데이터와 함수를 한 데 묶어 관리하면 어떨까?

  => 이렇게 하니 하나의 큰 프로그래밍을 작은 문제를 해결하는 독립적인 단위로 만들 수 있게 되었습니다.

    => 이렇게 작은 단위로 관리를 할 수 있게 되니 개발과 유지 보수가 간편하게 된다는 장점을 알게 되었습니다.

 

 - 이러한 객체를 설계하고 찍어낼 수 있는 구조를 클래스라고 하고, 클래스에서 만들어진 인스턴스를 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
Comments