객체지향 프로그래밍이란 캡슐화, 다형성, 상속, 추상화 등을 이용하고 코드 재사용을 증가시키고, 유지보수를 감소시키는 장점을 얻기 위해서 객체들을 연결 시켜 프로그래밍 하는 것 입니다.
캡슐화
여러가지를 한객체에 담을수있다.
다형성
한가지로 여러개를 만들어 낼수 있다.
상속
부모클래스로 부터 받아올수 있다.
추상화
복잡한 것을 단순하게 만들수 있다.
- Functional
let Car = function(position ){ //함수생성
var someInstance = {} //객체선언
someInstance.position = 0 ; //position을 0으로 초기화 해준다.
If(position){
someInstance.position = position;
}
someInstance.move = function() { this.position += 1;
}
return someInstance;
}
var car1 = Car();
var car2 = Car();
car1.move()
var car1 = Car(5);
2. fucntion shared
Var extend = fucntion(to , from) {
for(var key in from)
{
to[key] = from[key];
}
};
Var someMethods = {};
someMethods.move = function(){
this.position += 1;
};
var car = function(position){
var someInstance = {
position : position
};
extend(someInstance, someMethod);
Return someInstance;
};
Var car1 = Car(5);
Var car2 = Car(10);
//공장처럼 차를 찍어낼수 있다 . 다형성.
3. Prototypal
var someMethods = { } ;
someMethods.move = function( ){
this.position +=1;
}
Var Car = function(position) {
var someInstance = Object.create(someMethods);
someInstance.position = position;
return someInstance;
}
Var car1 = Car(5);
Var car2 = Car(10);
//Object.create는 특정 객체를 프로토타입으로 하는 객체를 생성해 주는 함수입니다.
4.Pseudoclassical
Var Car = function(position){
this.position = position;
}
Car.prototype.move = function() {
this.position += 1;
}
Var car1 = new Car(5);
Var car2 = new Car(10);
'공부정리' 카테고리의 다른 글
CORS , XSS, CSRF (web security) (0) | 2020.01.14 |
---|---|
browser, http, server , API , fetch (0) | 2020.01.13 |
Stack 과 Queue에 대해서.. (0) | 2019.12.27 |
알고리즘 & pseudo code (0) | 2019.12.27 |
런타임(runtime)에 대해서.. (0) | 2019.12.23 |