[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!"

자바스크립트는 이러한 다양한 객체 지향 프로그래밍 기능을 통해 유연하고 강력한 프로그래밍 환경을 제공합니다.


참고:

  1. MDN Web Docs, “Introduction to Object-Oriented JavaScript”, https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Object-oriented_JS
  2. w3schools.com, “JavaScript Objects”, https://www.w3schools.com/js/js_objects.asp