728x90
반응형
JavaScript는 객체 지향 프로그래밍(OOP) 언어입니다. 객체 지향 프로그래밍은 데이터와 해당 데이터를 조작하는 메서드(함수)를 논리적으로 그룹화하는 프로그래밍 패러다임입니다. JavaScript는 객체, 프로토타입, 상속 및 다른 객체 지향 프로그래밍 개념을 지원합니다.
JavaScript에서 객체는 키-값 쌍의 집합인 속성(properties)과 해당 속성을 조작하는 메서드를 포함할 수 있습니다. 또한 JavaScript의 프로토타입 기반 상속은 객체 간 코드 재사용을 지원하며 객체 지향 프로그래밍의 핵심 원칙 중 하나인 상속 개념을 구현합니다.
예를 들어, JavaScript에서 클래스를 정의하고 해당 클래스로 객체를 생성할 수 있습니다. 또한 클래스의 메서드를 사용하여 객체를 조작할 수 있습니다. 이것은 객체 지향 프로그래밍의 핵심 원리 중 하나인 캡슐화를 지원합니다.
JavaScript는 다른 프로그래밍 패러다임도 지원하며 다중 패러다임 언어로 분류됩니다. 함수형 프로그래밍 또한 JavaScript에서 가능하며, 객체 지향 프로그래밍과 함께 사용할 수 있습니다.따라서 JavaScript는 객체 지향 프로그래밍을 지원하는 다중 패러다임 언어입니다.
// 자동차 클래스 정의
class Car {
constructor(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
this.speed = 0;
}
// 가속 메서드
accelerate(amount) {
this.speed += amount;
console.log(`시속 ${this.speed}km/h로 가속 중입니다.`);
}
// 감속 메서드
brake(amount) {
this.speed -= amount;
console.log(`시속 ${this.speed}km/h로 감속 중입니다.`);
}
// 현재 속도 출력 메서드
getCurrentSpeed() {
console.log(`현재 시속: ${this.speed}km/h`);
}
}
// 자동차 객체 생성
const myCar = new Car('Hyundai', 'Sonata', 2020);
// 자동차 조작
myCar.accelerate(50);
myCar.getCurrentSpeed();
myCar.brake(20);
myCar.getCurrentSpeed();
이 예시에서는 Car 클래스를 정의하고, 해당 클래스로 myCar라는 자동차 객체를 생성합니다. 자동차 객체는 브랜드(make), 모델(model), 연도(year), 그리고 현재 속도(speed) 속성을 가지며, accelerate, brake, 그리고 getCurrentSpeed 메서드를 사용하여 가속, 감속 및 현재 속도를 조작합니다.
이것은 객체 지향 프로그래밍의 핵심 원리 중 하나인 캡슐화를 나타내는 예시입니다. 객체는 데이터와 관련 메서드를 함께 묶어 논리적인 단위로 표현할 수 있습니다.
728x90
반응형
'Javascript' 카테고리의 다른 글
Async Functions in Javascript (0) | 2024.04.01 |
---|---|
OOP(5) (0) | 2023.11.07 |
OOP(4) (0) | 2023.11.06 |
OOP(3) (0) | 2023.11.05 |
OOP(2) (0) | 2023.11.05 |