본문 바로가기

센차터치2.0

하이브리드 앱 센차터치 2.0 - getter / setter 정의하기

개요

 

멤버변수를 멤버 함수로 캡슐화 할 때 getter / setter 메서드를 사용한다. 캡슐화는 객체의 자료나 행위 즉 속성이나 로직을 하나로 묶어 데이터를 외부로부터 은익하는데 그 목적이 있다. 실제로 외부에서 접근하기 위해서는 허용된 메서드로만 접근이 가능하다. 이 때 보통 getter / setter 메서드를 이용해서 정보를 사용할 수 있도록 허용한다. 센차터치 그러한 getter / setter 개념을 사용할 수 있는데 두가지 방법을 지원한다.

 

구현

 

//첫번째 방법

Ext.define("MyObject", {

name: null, age: null, loc:null,

 

setName: function( name ) { this.name = name; },

getName: function() { return this.name; },

 

setAge: function( age ) { this.age = age; },

getAge: function() { return this.age; },

 

setLoc: function( loc ) { this.loc = loc; },

getLoc: function() { return this.loc; }

});

 

var ref = new MyObject();

ref.setName("홍길동");

ref.setAge(30);

ref.setLoc("서울 관악구 신림동");

 

console.log("이름 : "+ref.getName());

console.log("나이 : "+ref.getAge());

console.log("위치 : "+ref.getLoc());

 

//두번째 방법

Ext.define("MyObject", {

//생성자

constructor: function( config ) {

this.initConfig( config );

}

 

config: {

name:null, age:null, loc:null, tel:null, email:null

}

});

 

var ref = Ext.create("MyObject", {

name:"김승아", age:"28", loc: "서울 불광동"

});

ref.setName("김길동");

 

//출력

console.log("이름 : " + ref.getName() );

console.log("나이 : " + ref.getAge() );

console.log("위치 : " + ref.getLoc() );