객체지향 프로그래밍
하나의 모델이되는 청사진을 만들고(클래스 class) 그 청사진을 바탕으로한 객체(Instance Object)를 만드는 프로그래밍 패턴
https://riverpigeon.tistory.com/60
객체지향 프로그래밍과 함수형 프로그래밍
프로그래밍 패러다임? 하나의 프로그램을 개발하는데는 다양한 방법이 있다. 개발자는 이러한 다양한 방법중에 개발 목표나 환경에 따라 다양한 방식으로 프로그래밍을 할 것이다. 이처럼 다양
riverpigeon.tistory.com
클래스와 인스턴스
클래스(class, 어원: classification)는 객체 지향 프로그래밍(OOP)에서 특정 객체를 생성하기 위해 변수와 메서드를 정의하는 일종의 틀(template)이다. 객체를 정의하기 위한 메서드와 변수로 구성된다. - 위키백과
클래스로 만들어진 객체를 인스턴스(Instance)또는 인스턴스 객체 라고 부른다.

클래스라는 붕어빵 틀을 만들고, new 키워드를 사용하여 인스턴스(붕어빵)를 찍어낼 수 있다.
한번 틀을 만들면 유사한 객체를 수없이 찍어낼 수 있기 때문에 재사용성 측면에서 효율적이다.
기존에는(ES5까지) 생성자 함수를 사용하여 인스턴스를 만들어냈다.
function Person(name, age, country) {
this.name = name;
this.age = age;
this.country = country;
Person.prototype.sayHi = function () {
console.log(`Hi my name is ${this.name} from ${this.country}`);
};
}
let henna = new Person('Henna',19,'America');
henna.sayHi(); // 'Hi my name is Henna from America'
ES6에서 class 문법이 도입되면서 class 를 이용하여 인스턴스를 생성할 수 있다.
class Person {
constructor(name,age,country){
this.name = name;
this.age = age;
this.country = country;
}
sayHi () {
console.log(`Hi my name is ${this.name} from ${this.country}`);
};
}
let kim = new Person('Kim',20,'Korea');
kim.sayHi(); // 'Hi my name is Kim from Korea'
Class 문법이 추가된 이유는 좀 더 가독성이 좋고( 메서드를 정의할 때 prototype 키워드를 붙이지 않아도 된다.) Class 기반의 프로그래밍 언어 사용자가 Javascript에 적응하기 편하도록 하기 위해서 라고 한다.
'코드스테이츠' 카테고리의 다른 글
| 1/17 일일정리(1) Underbar (0) | 2023.01.17 |
|---|---|
| 1/16 일일정리 프로토타입 (0) | 2023.01.16 |
| 1/12 일일정리 고차함수 (2) | 2023.01.12 |
| Section1 회고 (1) | 2023.01.11 |
| 1/10 일일정리 Solo project - 나만의 아고라스테이츠 만들기 (0) | 2023.01.10 |
댓글