일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 웹 프로그래밍 입문
- 루비온레일즈
- 루비 온 레일즈
- 웹 프로그래밍
- rails review
- 꿀팁
- 장고
- 웹 프론트엔드
- express-mysql-session
- 프론트엔드
- node.js
- jquery
- 레일즈
- 웹프로그래밍
- 장고 공부하기
- 루비
- nodejs api
- css3
- 모듈화
- nodejs
- Ruby On Rails
- 데스크탑애플리케이션
- 홈페이지 개발하기
- 예스인테리어
- 모닝버드
- Python
- django 공부하기
- Django
- rails
- 파이썬 웹 프레임워크
- Today
- Total
노래하듯 이야기하고, 춤추듯 정복하라.
[Javascript] 객체지향프로그래밍과 모듈화 본문
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)에 따라 서로 다른 모듈화 방법이 제공되고 있다.
| 모듈화를 통해 얻을 수 있는 효과
- 자주사용되는 코드를 별도의 파일로 만들어 여러프로젝트에서 필요할 때마다 재사용, 재활용이 가능하다.
- 코드 수정 시 필요한 로직을 빠르게 찾을 수 있다.
- 모듈을 사용하는 애플리케이션의 동작을 짧은 코드의 수정으로 개선시킬 수 있다.
- 필요한 로직만을 로드하여 메모리 낭비를 줄일 수 있다.
- 한번 다운로드 된 모듈은 웹브라우저에 의해서 저장된다. 때문에 동일한 로직을 로드할 때 시간과 네트워크 트래픽을 절약할 수 있다. (브라우저에서만 해당!)