
객체 지향 프로그래밍은 순차적 프로그래밍의 단점을 보완할 수 있는 절차적, 구조적 프로그래밍이라고 볼 수 있다. 대표적인 것으로는 함수가 있다. 즉, 반복되는 동작을 함수 및 프로시저의 형태로 모듈화하여 사용하는 방식이다.
프로시저 = 리턴 값이 없는 함수, ex)
printf
반복동작을 모듈화하여, 코드를 많이 줄일 수 있다.
어떤 개념에 대한 자료형과 함수를 '객체'로 묶어 관리하는 패러다임이 등장하였다. 값을 저장할 변수와 작업을 수행할 메소드를 서로 연관된 것끼리 묶어 만든 것이 객체인 것이다. 객체 내부에 자료형 필드와 함수가 함께 존재하는 것이다. 추상적이었던 동작이 더 직관적으로 보이게 되어 가독성이 증가한다. 즉, 객체 간 독립성이 생기며, 중복성도 적어지고 유지보수에도 용이하다.
//모자딥다
// 생성자 함수(Constructor)
function Person(name) {
// 프로퍼티
this.name = name;
// 메소드
this.setName = function (name) {
this.name = name;
};
// 메소드
this.getName = function () {
return this.name;
};
}
// 인스턴스의 생성
var me = new Person('Lee');
console.log(me.getName()); // Lee
// 메소드 호출
me.setName('Kim');
console.log(me.getName()); // Kim
캡슐화, 상속, 추상화, 다형성