ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로토 타입(object prototype)
    블로깅 과제 2022. 11. 18. 17:08

    프로토 타입

    • js는  프로토타입 기반언어라고 불리며 모든 객체들이 메소드와 속성들을 상속받기 위해 프로토타입 객체를 가진다는 의미이다.
    • 프로토타입 객체도 상위 프로토타입의 객체로부터 상속받을 수 있으며 상위 프로토타입 또한 더 상위 프로토타입의 객체로부터 상속을 받을 수 있다. (프로토타입 체인)
    • 상속되는 메소드와 속성은 각각의 객체가 아니라 prototype이라는 속성에 정의되어 있다. 
    function Computer(brand, CPU, memory, GPU) {
        this.brand = brand;
        this.CPU = CPU;
        this.memory = memory;
        this.GPU = GPU;
    }
    
    Computer.prototype.run = function() {
    	// 컴퓨터 전원 ON을 구현하는 코드
    }
    
    Computer.prototype.login = function() {
    	// 로그인을 구현하는 코드
    }
    • 위와 같이 class를 정의할 경우 Computer라는 class만 생기는 것이 아닌 class인 Computer의 prototype 객체도 생겨나게 된다.
    • Computer.prototype은 class인 Computer의 prototype객체를 가리키며 Computer.prototype.constructor는 class인 Computer를 가리킨다.
    let myCom = new Computer('DIY', 'i5', '16GB', 'GTX1060');
    • instance를 생성할 때 class인 Computer의 속성과 메소드를 가져오는 것이 아닌 class인 Computer의 prototype의 속성과 메소드를 가져오는 것이다.
    • 위와 같이 instance를 생성해줄 경우 myCom.__proto__는 class인 Computer의 prototype을 가리킨다.

    '블로깅 과제' 카테고리의 다른 글

    REST API  (0) 2022.12.02
    프로토타입 체인  (0) 2022.11.21
    객체 지향 프로그래밍  (0) 2022.11.18
    클래스(class)와 인스턴스 객체(instance object)  (0) 2022.11.18
    이제까지 배운것 복습! (JavaScript Koans)  (1) 2022.11.09
Designed by Tistory.