Javascript Object Oriented Programming

개발 노트 2008. 7. 14. 21:50 posted by 무병장수권력자


Javascript Object Oriented Programming

작성자 : 김문규
최초 작성일 : 2008. 7.14

일반적으로 자바스크립트는 쓰기에 더럽고 관리하기 너무 힘들다고 합니다.
그런데 아쉽게도 이런말은 서투른 목수가 연장 탓을 하는 것과 비슷하다고 생각됩니다.

저도 자바스크립트를 처음 배울 당시에 진정한 스파게티 코드를 만들어 낸적이 있고, 동료가 MK가 짠거는 숲속을 헤매이는 기분이야..라는 말도 들었었지요. ㅡ,.ㅡ 뭐 지금도 별반다르지 않을 수도 있지만...

그래서, 같이 잘 살아보자는 마음으로 일단은 자바스크립트를 사용하면서 꼭 알아야 할 것 하나를 소개합니다.

일반적으로 초보가 작성하는 자바스크립트 코드는 아래와 같습니다.
<script language='javascript'>
 var user1 = new Array();
 user1[0] = "김문규";
 user1[1] = 20;

 user1[1]++;

 alert(user1[1]);
</script>
user[0]은 이름, user[1]은 나이라는 것은 본인 밖에 모르겠네요.
직관적이지 않아서 관리가 쉽지 않게 됩니다.
(물론 이 보다는 좀더 나은 코드를 적을 수도 있겠지만 더 좋은 대비를 위함입니다.)

이제 좀 하는 놈의 코드는 어떨까요? (객제 지향을 이용한)
<script language='javascript'>
 function User() {
  this.name = "";
  this.age = 0;
  this.addAge = function() {
   this.age++;
   return;
  }
 }
 var user1 = new User();
 user1.name = "김문규";
 user1.age = 20;
 user1.addAge();
 alert(user1.age);
</script>

차이가 보이시나요?
변수명이 직관적이어서 이해가 쉽고, 다른 인스턴스를 추가할 수도 있어서 아주 쿨합니다.
관리도 쉽고 코드의 확장성도 훨씬 좋아 보입니다.

그럼 이제부터는 좀 하는 놈이 되어 보아요~