class

특정 유형의 객체를 생성하기 위한 템플릿입니다.

클래스는 객체를 사용한 프로그래밍을 보다 쉽게 만듭니다. 예를 들어, Frog 클래스는 개구리처럼 행동하는 객체를 생성할 수 있습니다. 클래스를 사용하여 생성된 각 객체를 그 클래스의 인스턴스라고 합니다. 클래스의 모든 인스턴스는 동일한 유형입니다. Frog 클래스의 인스턴스를 생성하는 예는 다음과 같습니다 : let fifi = new Frog(50, 50, 20);

fifiFrog 클래스의 인스턴스를 참조합니다. 키워드 newnew Frog() 문에서 Frog 클래스의 생성자를 호출하는 데 사용됩니다. 전체적으로 새로운 Frog 객체가 생성되어 변수 fifi에 할당되었습니다. 클래스는 템플릿이므로 하나 이상의 인스턴스를 생성하는 데 사용할 수 있습니다:

// First Frog instance. let frog1 = new Frog(25, 50, 10); <p>// Second Frog instance. let frog2 = new Frog(75, 50, 10); </p>

간단한 Frog 클래스는 다음과 같이 선언할 수 있습니다:

class Frog { constructor(x, y, size) { // This code runs once when an instance is created. this.x = x; this.y = y; this.size = size; } <p> show() { // This code runs once when myFrog.show() is called. textAlign(CENTER, CENTER); textSize(this.size); text('🐸', this.x, this.y); }</p> <p> hop() { // This code runs once when myFrog.hop() is called. this.x += random(-10, 10); this.y += random(-10, 10); } } </p>

클래스 선언은 class 키워드로 시작하며, 그 다음에 Frog 같은 클래스 이름과 중괄호 {}가 따릅니다. 클래스 이름은 PascalCase를 사용해야 하며 이름에 공백이 있으면 안 됩니다. 예를 들어, 클래스 이름을 각 단어 사이에 공백이 있는 Kermit The Frog로 지정하면 SyntaxError가 발생합니다. 중괄호 {} 사이의 코드는 클래스를 정의합니다. 클래스에 속한 함수를 메소드라고 합니다. constructor(),show(), 그리고 hop()는 매개변수를 받을 수 있고 값도 반환할 수 있습니다. 함수와 같지만 function 키워드를 사용하지 않습니다.

constructor()는 클래스의 인스턴스가 생성될 때 한 번 호출되는 특별한 메소드입니다. new Frog() 문은 Frog 클래스의 constructor() 메소드를 호출합니다.

클래스 정의는 인스턴스의 템플릿입니다. 키워드 this는 인스턴스의 데이터와 메소드를 참조합니다. 예를 들어, 각 Frog인스턴스는 this.xthis.y에 고유한 좌표를 저장합니다. show() 메소드는 그 좌표를 사용하여 개구리를 그립니다. hop() 메소드는 호출될 때 그 좌표를 업데이트합니다. Frog 인스턴스가 생성되면, 점 연산자 .를 사용하여 다음과 같이 데이터와 메소드를 업데이트 할 수 있습니다:

// Draw a lily pad. fill('green'); stroke('green'); circle(fifi.x, fifi.y, 2 * fifi.size); <p>// Show the Frog. fifi.show();</p> <p>// Hop. fifi.hop(); </p>

예제

Notice any errors or typos? Please let us know. Please feel free to edit src/core/reference.js and open a pull request!

관련 레퍼런스