본문 바로가기

공부정리

OOP(Object Oriented Programming)에 대해서

객체지향 프로그래밍이란 캡슐화, 다형성, 상속, 추상화 등을 이용하고 코드 재사용을 증가시키고, 유지보수를 감소시키는 장점을 얻기 위해서 객체들을 연결 시켜 프로그래밍 하는 것 입니다.

 

캡슐화

여러가지를 한객체에 담을수있다.

다형성

한가지로 여러개를 만들어 낼수 있다.

상속

부모클래스로 부터 받아올수 있다.

추상화

복잡한 것을 단순하게 만들수 있다.

 

 

 

  1. 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