section2 클래스와 인스턴스

유희준·2023년 3월 15일

section2

목록 보기
2/12

클래스

클래스는 객체 지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀로, 객체를 정의하기 위한 상태(멤버 변수)와 메서드(함수)로 구성된다.

인스턴스

비슷한 성질을 가진 여러개의 객체를 만들기 위해, 일종의 설계도라고 할 수 있는 생성자 함수(Constructor)를 만들어 찍어내듯 사용하는데 이렇게 생성된 객체를 인스턴스라 부를 수 있다.

new

new 라는 의미는 영역(block)을 지정하여 함수 내부의 정의된 내용을 실행하여 주는 의미라 볼 수 있습니다.

생성자 함수

자바스크립트 함수는 재사용 가능한 코드를 묶음으로 사용하는 것 외에 객체를 생성 하기 위한 방법으로도 사용된다.

객체를 생성하기 위해서는 직접 객체를 반환해도 되지만, new 키워드를 사용하여 함수를 호출하게되면 return 문이 없어도 새로운 객체를 반환 시킨다.

그리고 함수 에서 this를 사용하여 반환되는 객체의 초기 상태와 행위를 정의할 수 있다.

이렇게 객체를 생성하는 역할을 하는 함수를 생성자 함수라고 한다

ES5 클래스 작성 문법

생성자 : 일반 함수가 new 연산자와 함께 호출 시 생성자 함수로써 동작

스태틱메서드 : 생성자 함수에 바로 정의되는 메서드

프로토타입 메서드: 생성자 함수의 prototype 내부에 할당되는 메서드

ES6 클래스 작성 문법

생성자 : class 키워드로 선언된 클래스의 본문 영역 내에 constructor 키워드를 통해 생성자를 정의함

스태틱 메서드 : static이라는 키워드와 함께 선언되는 메서드

프로토타입 메서드 : 클래스의 본문 영역내에 function이라는 키워드를 생략하더라도 모두 메서드로 인식하면서 constructor나 static이란 키워드가 없다면 자동으로 prototrpe 객체 내부에 할당된다.

profile
매일 뭐든하기

0개의 댓글