프로그래밍하려는 대상을 하나의 객체로 정의하는 설계 방법
// javascript
function Car() {
this.power = false;
this.position = 0;
}
Car.prototype.start = function() {
this.power = true;
console.log('자동차 시동');
}
Car.prototype.moveTo = function(position) {
if (!this.power) {
console.log('자동차의 시동이 꺼져 있습니다.);
return;
}
this.position = position;
console.log(`자동차가 ${this.position}으로 이동`);
}
const car = new Car();
car.start();
car.moveTo(10);
프로그래밍하려는 문제를 함수들의 정의와 조합을 통해 해결하는 방법
// javascript
function start(car) {
car.power = true;
console.log('자동차 시동');
}
function moveTo(car, position) {
if (!car.power) {
console.log('자동차의 시동이 꺼져 있습니다.');
return;
}
car.position = position;
console.log(`자동차가 ${car.position}으로 이동`);
}
const car = { power: false, position: 0 };
start(car);
moveTo(car, 10);
순수 함수
)일급 객체
가 됨 📍 일급 객체
다른 요소들과 아무런 차별이 없이 함수의 인자로도 넘겨질 수 있고, 변수에 대입할 수도 있는 객체
1️⃣ 모든 일급 객체는 함수의 실질적인 매개변수가 될 수 있다.
2️⃣ 모든 일급 객체는 함수의 반환값이 될 수 있다.
3️⃣ 모든 일급 객체는 할당의 대상이 될 수 있다.
4️⃣ 모든 일급 객체는 비교 연산을 적용할 수 있다.
객체지향 프로그래밍
함수형 프로그래밍
참고