티스토리 뷰

Javascript

3. javascript

채영도 2015. 11. 27. 22:05

객체지향

객체지향 프로그래밍(Objecy Oriented Programming)은 좀 더 나은 프로그램을 만들기 위한 프로그래밍 패러다임으로 로직을 상태행위로 이루어진 객체를 만드는 것이다. 이 객체들을 마치 레고 블럭처럼 조립해서 하나의 프로그램을 만드는 것이 객체지향 프로그래밍이라고 할 수 있다. 이 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 객체들의 모임으로 파악하고자 하는 것이다. 이 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.

객체 지향을 통해 현실 잘 반영한 객체 설계를 하여 좋은 프로그램을 만들 수 있다.

추상화 - 해결해야할 문제를 소프트웨어적으로 단순화시켜서 만드는 행위

부분화 - 연관된 메소드와 그 메소드가 사용하는 변수들을 분류하고 그룹핑하는 것이다.

은닉화, 캡슐화 - 예를 들면 모니터가 어떻게 동작하는지 몰라도 컴퓨터와 모니터를 연결하는 방법만 알면 화면을 표시할 수 있는 것과 같은 것처럼 객체의 내부 동작방식은 몰라도 그 객체가 어떻게 사용하는지만 알면 그 객체를 다른 곳에도 사용할 수 있다.

인터페이스 - 사람과 사물 또는 시스템 사이에서 의사소통을 할 수 있도록 일시적 또는 영구적인 접근을 목적으로 만들어진 물리적, 논리적 매개체를 뜻한다. 사용자 인터페이스는 사람들이 컴퓨터와 상호작용하는 시스템이며 이는 물리적인 하드웨어와 논리적인 소프트웨어의 요소를 포함한다.

객체 내의 변수를 프로퍼티(property)라 부른다. 함수를 메소드(method)라 부른다.

객체

var person = { object }

person.name = '채영도'

person.introduce = function(){

return 'my name is ' + this.name;

}

document.write(person.introduce());

==

var person = {

'name' : '채영도'

'introduce' : function(){

return 'My name is' + this.name;

}

}
생성자

생성자는 객체를 만드는 역할을 하는 함수다.

var p = new person(); -> p에 비어있는 객체 person()이 생긴다. new를 통한 초기화

모든 객체는 전역객체의 프로퍼티다.

객체 내에 속성들이 있는데 이중에 함수를 메소드, 변수를 프로퍼티라 한다.

window - 전역객체

this - 함수 내에서 함수 호출 맥락(context)를 의미한다. 맥락이라는 것은 상황에 따라서 달라진다는 의미인데 즉 함수를 어떻게 호출하느냐에 따라서  this가 가리키는 대상이 달라진다는 뜻이다.

this 비교

apply - 종속이 된다. , call을 이용해서 this를 제어한다.

function sum(x,y) {return x+y}; -> sum(1,2) == 3;

var sum2 = new Function('x', 'y', 'return x+y'); -> sum2(1,2) == 3;

prototype

어떤 객체를 만들 때 그 객체가 기본적으로 가진 속성을 우리가 new 를 통해 선언했을 때 그것을 가질 수 있도록 이것을 가능하게 하는게 prototype(객체).

sub 의 객체에는 super의 프로퍼티 값이 저장된다. - prototype에

super의 객체에는 ultra의 프로퍼티 값이 저장된다. - prototype에

ultra에는 해당 프로퍼티 값이 저장되어 있다. 

이러한 관계를 prototype chain

표준 내장 객체(Standard Built-in Object)는 자바 스크립트가 기본적으로 가지고 있는 객체들을 의미한다.

자바스크립트는 아래와 같은 내장 객체를 가지고 있다. 

  • Object
  • Function
  • Array
  • String
  • Boolean
  • Number
  • Math
  • Date
  • RegExp

 

 

위와 같은 형식으로 좀 더 효율적인 코드를 작성할 수 있다.

 

'Javascript' 카테고리의 다른 글

4. javascript  (0) 2015.12.28
2. javascript  (0) 2015.11.23
1. Javascript  (1) 2015.11.22
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함