-
객체 지향프로그래밍공부 1/기타 2020. 9. 18. 11:06
객체 지향 프로그래밍 : 하나의 모델이 되는 청사진을 만들고, 그 청사진을 바탕으로 한 객체를 만드는 프로그래밍 패턴
청사진 -> class // 청사진을 바탕으로한 객체 -> instance
- class 정의 방법
- (ES5) 클래스는 함수로 정의할 수 있다.
function Car(brand, name, color){//인스턴스가 만들어질 때 실행되는 코드} //안에 아무것도 안넣어도 됨
- (ES6) class라는 키워드를 이용하여 정의할 수도 있다.
class Car(){ constructor(brans, name, color){ //인스턴스가 만들어질 때 실행되는 코드 } } //안에 아무것도 안넣어도 됨
- 클래스는 대부분 맨 앞글자를 대문자로 만든다.
- 인스턴스 만드는 방법
- new 키워드를 통해 클래스의 인스턴스를 만들 수 있다.
let avante = new Car('hyundai', 'avante', 'black'); let mini = new Car('bmw', 'mini', 'white'); let beetles = new Car('volkswagen', 'beetles', 'red');
- 속성과 메소드
- 클래스에 속성과 메소드를 정의하고 인스턴스에서 이용한다.
- 속성 : 말 그대로 클래스가 갖고 있는 속성 (인스턴스마다 고유 속성이 다르다)
- 메소드 : action (모든 인스턴스에 동일하게 적용된다)
- (ES5) 속성의 정의
function Car(brand, name, color){ this.brand = brand; this.name = name; this.color = color; }
- (ES6) 속성의 정의
class Car(){ constructor(brand, name, color){ this.brand = brand; this.name = name; this.color = color; } }
- (ES5) 메소드의 정의
function Car(brand, name, color){ /* 생략 */} Car.prototype.refuel = function(){ //연료 공급을 구현하는 코드 } Car.prototype.drive = function(){ //운전을 구현하는 코드 }
- (ES6) 메소드의 정의
class Car(){ constructor(brand, name, color){ /*생략*/ } refuel(){ } drive(){ } }
- prototype, constructor, this
protootype 모델의 청사진을 만들 때 쓰는 원형 객체 constructor 인스턴스가 초기화 될 때 실행하는 생성자 함수 this 함수가 실행될 때, 해당 scope마다 생성되는 고유한 실행 context
new 키워드로 인스턴스를 생성했을 때에는, 해당 인스턴스가 바로 this 의 값이 됨'공부 1 > 기타' 카테고리의 다른 글
[React] react에서의 조건문/조건부렌더링 (0) 2020.11.20 [객체지향프로그래밍] 자바스크립트에서 인스턴스를 만드는 방법 (0) 2020.10.28 [객체지향프로그래밍] OOP란 (0) 2020.10.28 <HTML> 태그 공부 (0) 2020.09.21 <HTML> 링크 새탭으로 뜨게하기 (0) 2020.09.21