[javascript] 자바스크립트에서의 객체 지향 프로그래밍 기능
자바스크립트는 객체 지향 프로그래밍 (OOP) 언어이며, 객체와 프로토타입을 활용하여 객체 지향 프로그래밍 기능을 제공합니다.
객체 생성
자바스크립트에서 객체는 중괄호 {}
를 사용하여 생성됩니다.
// 빈 객체 생성
let obj = {};
속성 및 메소드 추가
객체에는 속성과 메소드를 추가할 수 있습니다.
// 객체에 속성 추가
obj.name = 'John';
obj.age = 30;
// 객체에 메소드 추가
obj.greet = function() {
console.log('Hello, ' + this.name + '!');
};
프로토타입을 이용한 상속
자바스크립트는 프로토타입 기반 상속을 지원합니다.
// 부모 객체 생성
let parentObj = {
parentProp: 'I am a parent'
};
// 자식 객체 생성 및 상속
let childObj = Object.create(parentObj);
childObj.childProp = 'I am a child';
console.log(childObj.parentProp); // "I am a parent"
클래스와 생성자 함수
ES6부터는 클래스(class)와 생성자 함수(constructor)를 사용하여 객체 지향 프로그래밍을 더 간편하게 할 수 있습니다.
// 생성자 함수를 사용한 객체 생성
function Person(name, age) {
this.name = name;
this.age = age;
}
// 프로토타입 메소드 추가
Person.prototype.greet = function() {
console.log('Hello, ' + this.name + '!');
};
// 객체 생성
let person1 = new Person('Alice', 25);
person1.greet(); // "Hello, Alice!"
자바스크립트는 이러한 다양한 객체 지향 프로그래밍 기능을 통해 유연하고 강력한 프로그래밍 환경을 제공합니다.
참고:
- MDN Web Docs, “Introduction to Object-Oriented JavaScript”, https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Object-oriented_JS
- w3schools.com, “JavaScript Objects”, https://www.w3schools.com/js/js_objects.asp