<HTML>
<HEAD>
<TITLE> :::: 자바스크립트 객체생성 및 메소드 설정하기 :::: </TITLE>
<script language="JavaScript">
/** 과목이라는 객체를 구현하도록 함수로써 설계하였다. */
function subject(my_name, kor, eng, math)
{
this.name = my_name; //이름
this.kor = kor; //국어
this.eng = eng; //영어
this.math = math; //수학
this.dsp = display; //메소드설정
}//subject///////////////////////////////
/** 위의 과목이라는 객체에 출력이라는 행동.. 즉 메소드를
* 설정하기 위해서 함수를 통해서 메소드를 설계합니다. */
function display()
{
document.write("이름 : " + this.name + "<br>");
document.write("국어 = " + this.kor + "<br>");
document.write("영어 = " + this.eng + "<br>");
document.write("수학 = " + this.math + "<p>");
}//display()=========================================
</script>
</HEAD>
<BODY>
<script language="JavaScript">
var young_ho = new subject("영호", 100, 100, 90); //객체생성
var min_su = new subject("민수", 80, 90, 88);
document.write("<h2>");
young_ho.dsp(); //메소드 호출
min_su.dsp();
document.write("</h2>");
</script>
</BODY>
</HTML>
----------------------------------------------------------------------------------------
위의 코드는 함수를 통해서 메소드를 설계하고 이렇게 설계된 함수를 객체의 메소드로 설정
하는 코드입니다. 자바스크립트에서는 자바와 달리 클래스를 생성하는것이 없습니다.
따라서 메소드 역시 함수를 통해서 메소드를 구현해야 하는데 function 이라는 예약어를
통해 만들어지는 함수는 함수안에 또다른 함수가 들어갈 수 없도록 되어있습니다.
ex)
function class(){
function method(){
}
따라서 위의 코드처럼 객체와 메소드를 따로이 함수로써 설계해야 합니다.}자바스크립트에서는 이렇게 하면 오류가 납니다.
그리고 객체로 사용될 함수에는 따로 속성을 부여하고 그 속성에 대입연산자(=)를 통해서
메소드를 속성안에 대입시켜야 합니다. 그리고 객체는 new 예약어를 통해서 객체생성을 하고
마침표(.)를 통해서 해당 객체의 메소드를 호출하면 됩니다. 아래는 위의 코드에 대한 결과입니다.
----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
객체를 생성하면서 부여한 속성들이 출력된것을 볼 수 있습니다.
'JavaScript' 카테고리의 다른 글
자바스크립트 배열사용하기 01 (배열함수를 만들어 사용하기) (0) | 2013.08.04 |
---|---|
자바스크립트 객체를 객체 속성(맴버변수)으로 사용하기 (0) | 2013.08.04 |
자바스크립트 객체생성하기(객체에 속성부여하기) (0) | 2013.08.03 |
자바스크립트 재귀호출함수 (0) | 2013.08.03 |
자바스크립트 반환값이 있는 함수 만들기 (0) | 2013.08.03 |