본문 바로가기

UI개발

자바스크립트 객체지향프로그래밍

객체지향프로그래밍 (OOP, Object Oriented Programming)

좀 더 나은 프로그램을 만들기 위한 로직을 상태와 행위로 이루어진 객체로 만드는 것.

로직과 관련된 변수와 메소드를 그룹핑 한 것이 객체. 그 객체를 재활용 한다.

 

본문 객체

변수

      메소드

 

댓글 객체

변수

메소드

 

 

부품화

객체가 다른 곳, 여러 곳에서 부품으로 사용된다는 것. 부품화.

 

초창기 컴퓨터는 본체와 모니터, 키보드가 하나도 단일화되어 있다.

모니터가 고장나면? 컴퓨터를 바꿔야 한다.

키보드가 고장나면? 컴퓨터를 바꿔야 한다.

 

부품화라고 하는 것은 단순히 동일한 기능을 하는 메소드와 변수를 그룹핑한다고 달성되는 것은 아니다.

제대로된 부품이라면 그것이 어떻게 만들어졌는지 모르는 사람도 그 부품을 사용하는 방법만 알면 쓸 수 있어야 한다.

모니터가 어떻게 동작하는지 몰라도 연결하는 방법만 알면 사용할 수 있는 것과 같은 이치이다.

 

내부의 동작 방법을 단단한 케이스 안으로 숨기고, 사용자에게는 그 부품의 사용법만 노출하는 것.

이러한 컨셉을 정보의 은닉화, 캡슐화라고 부른다.

 

 

객체의 속성과 메소드

var person = {

	// 속성

}

 

객체를 배열과 비교

var array = ['사과', '바나나', '망고', '딸기'];

// 배열은 인덱스로 접근 array[0], array[1]
var product = {

	name : '건조망고',
	kind : '당절임',
	ingredient : '망고, 설탕, 메타중아황산나트륨, 치자황색소',
	origin : '필리핀'

}

// 객체는 키로 접근 product['name'], product.name