노래하듯 이야기하고, 춤추듯 정복하라.

[Javascript] 객체지향프로그래밍과 모듈화 본문

프로그래밍/Javascript

[Javascript] 객체지향프로그래밍과 모듈화

hyeoke 2018. 7. 28. 17:30

Object(객체)

var my_obj = {
  'list': { 'my_weight': 72, 'my_tall': 177, 'my_age': 24 },
  'my_nick': 'inamorfati',
  'my_func': function(){
    for(var name in this.list){
      document.write(name + ':' + this.list[name])
    }
  }
}
// 객체 안에 함수 객체 키와값 등 모두 담을 수 있다.
my_obj.my_func()


| javascript의 객체지향프로그래밍

my_obj란 객체안에는 데이터들이 들어있는 list가 있고 이 list를 활용하는 함수 my_func이 있다. 이처럼 데이터와 함수와 같은 것들을 그룹화(카테고라이징)하여 my_obj란 객체에 담았다. 바로 이러한 모습을 객체지향 프로그래밍이라고 한다.

다시 한 번 정리하면, 서로 연관되어 있는 값(데이터)연관되어 있는 처리를 하나의 그릇 안에 모아서 그룹화 하는 프로그래밍 스타일 기법이 바로 객체지향프로그래밍 기법이다.



모듈이란? (=부품)

프로그램은 작고 단순한 것에서 크고 복잡한 것을 진화한다. 크고 복잡한 것에서 반드시 필요한 것이 코드의 재활용성과 유지보수를 쉽게 할 수 있는 기법들이다.

프로그램 로직들을 재사용, 재활용 할 수 있도록 별도의 파일로 분리하여 마치 하나의 부품처럼 모듈화 하는 것. 그렇게 만들어진 부품들이 모듈이다. 프로그래밍에서는 보통 모듈화를 지원하는 기법들이 존재한다


Javascript의 모듈

순수한 자바스크립트에서는 모듈(module)이라는 개념이 분명하게 존재하는 것은 아니다. 그리고 모듈이란 기능 자체를 제공하지 않는다. 하지만 자바스크립트가 구동되는 환경(node.js, google apps script)에 따라 서로 다른 모듈화 방법이 제공되고 있다.


모듈화를 통해 얻을 수 있는 효과

- 자주사용되는 코드를 별도의 파일로 만들어 여러프로젝트에서 필요할 때마다 재사용, 재활용이 가능하다.

- 코드 수정 시 필요한 로직을 빠르게 찾을 수 있다.

- 모듈을 사용하는 애플리케이션의 동작을 짧은 코드의 수정으로 개선시킬 수 있다.

- 필요한 로직만을 로드하여 메모리 낭비를 줄일 수 있다.

- 한번 다운로드 된 모듈은 웹브라우저에 의해서 저장된다. 때문에 동일한 로직을 로드할 때 시간과 네트워크 트래픽을 절약할 수 있다. (브라우저에서만 해당!)


Comments