Prototype Public/Private 프로퍼티와 this

황제낙엽 2008.08.08 16:23 조회 수 : 10 추천:93

sitelink1  
sitelink2  
sitelink3  
sitelink4 http://1 
extra_vars4 ko 
extra_vars5 자바 스크립트 for 웹2.0 - 오레일리 
extra_vars6 sitelink1 
this 의 역할은 객체의 외부에서 접근할 수 있는 public 프로퍼티를 생성하는 것이다.
<script>  
function Tune (song, title) { 
    var song = song;  
    this.title = title;   
}   
function printTitle() {   
    alert(this.title);   
}   
var someTune = new Tune("Song", "Title");   
Tune.prototype.print = printTitle;   
  
var anotherTune = new Tune("Song", "Another Title");   
anotherTune.print();   
</script>


위와 같은 코드에서 alert(song.title); 과 같은 접근이 가능하다.
하지만, alert(song.song); 와 같은 접근은 불가하다는 것을 의미한다.

만일 클래스 내부 변수를 지정할때 this 키워드를 사용하지 않고 var 키워드를 사용한다면 프로퍼티가 private 이 되는 효과를 가진다.
즉, 객체 외부에서는 접근 할 수 없고 객체 내부에서만 접근할 수 있다.