클래스와 인스턴스

khundi·2022년 9월 21일
0
post-thumbnail

클래스와 인스턴스

클래스(Class)는 여러 개의 독립적인 객체를 빠르게 만들어내게끔 할 수 있는 틀과 같다. 말 그대로 클래스는 객체의 템플릿이다.
그리고 클래스라는 틀로 찍어낸 결과물을 인스턴스(instance)라고 한다.

클래스(Class)

ES5의 클래스 작성 문법

class라는 키워드가 있기 전 ES5의 클래스는 함수로 정의했다.

function Person(age, name, gender){
	... // 인스턴스가 만들어질 때 실행되는 코드
}

일반적인 함수와 구별하기 위해 클래스는 대문자로 시작하며 일반명사로 만든다. 이는 클래스에도 이어져 class를 만들 때도 대문자로 시작하여 만드는 것이 관습이다. 소문자로 해도 오류는 나지 않음.

ES6의 클래스 작성 문법

ES6에서는 class라는 키워드가 도입되어 이 키워드로 클래스를 정의할 수 있다.
최근에는 class 키워드를 주로 사용한다.
constructor 함수는 인스턴스가 만들어질 때 실행되는 코드이고, 객체지향 프로그래밍에서 생성자 함수라고 부른다.

class Person{
	constructor(age, name, gender){
      ... // 인스턴스가 만들어질 때 실행되는 코드
    }
}

인스턴스(instance)

new키워드를 이용하여 클래스의 인스턴스를 만들어낼 수 있다.

const 성훈 = new Person('28', 'jeonseonghun', 'male');
const 민수 = new Person('27', 'kimminsu', 'male');
const 영희 = new Person('30', 'kimyounghee', 'female');

만든 즉시 생성자 함수가 실행되고, 변수에 클래스의 설계를 가진 새로운 객체, 인스턴스가 할당된다.

profile
안녕하세요. 웹 프론트엔드 개발자 전성훈입니다.

0개의 댓글