JS 객체지향 복습 1

2021. 7. 12. 11:20JS/객체지향

 

OOP(Object Oriented Programming)는 객체와 클래스 사물 및 그 기능을 설명하는 코드를 구성하는 데 사용된다고 합니다. 그중에서 배운 것은 this 키워드 ,prototype chains, constructors(생성자),inheritance(상속)을 포함한 javascriptOOP기본 원리를 학습했습니다.

 

예) 자동차라는 개체가 있다면 속성으로 모델 이름, 바퀴의 수 등이 있다. 

javascript의 개체는 실제 개체와 마찬가지로 속성 및 동작을 제공한다고 합니다.

ex)

let cat = {

 name: "ben",

 Legs: 4  

};

이 cat 개체에는 name "ben"과 Legs 4 두 속성과 값이 있습니다.

 

[' . ' 표기법을 사용하여 개체 속성 액세스 하는 방법] 

console.log(cat.name); //ben 

[개체애 대한 메소드 생성 및 this 활용하기]

let cat = {

 name: "ben",

 Legs: 4  

 myName: function() {return "My name is "+this.name+".";}

};

console.log(cat.myName()); //My name is ben 

 

this를 활용하여 name에 접근했습니다. 여기서 this를 사용하는 이유는 만약 cat.name으로 했다면 name이 변경된 값이 반영되지 않는 오류가 발생할 가능성이 높기 때문에 this를 활용해 변경되어도 오류가 발생하지 않도록 합니다.

*this는 아주 복잡한 것이며 위는 이것을 사용한 한 가지  방법 중 하나일 뿐입니다.

 

[constructor 함수 정의 및 사용하여 개체 생성 하기 ]

function Cat() {  // 다른 함수와 구분하기 위해 대문자로 된 이름으로 정의됩니다.

 this.name = "ben";  //this 키워드를 사용하여 생성할 개체의 속성을 설정합니다. 

 this.color = "black"; //construtor 내부의 this는 항상 생성중인 개체를 가리킵니다.

 this.age = 2;

}

let othercat = new Cat(); //Cat construtor를 new를 이용하여 othercat 개체를 생성합니다. 

othrecat도 마찬가지로 name, color, age를 가지고 접근과 수정이 가능합니다.

othrecat.name = "su";

 

[매개변수를 허용하여 유연한 constructor 만들기]

function Cat(name, color,age){ //이렇게 매개변수를 설정하면 항상 고유한 Cat을 생성한다.

 this.name = name;

 this.name = color;

 this.age = age;

}

let othercat = new Cat("su","white",5);

 

[instanceof 를 사용하여 개체의 constructor 확인하기]

instanceof를 사용하면 해당 개체가 해당 constructor로 생성되었는지 여부에 따라 true 또는 false를 반환합니다. 

othercat instanceof Cat; // true

'JS > 객체지향' 카테고리의 다른 글

JS 객체지향 복습 5  (0) 2021.07.12
JS 객체지향 복습 4  (0) 2021.07.12
JS 객체지향 복습 3  (0) 2021.07.12