티스토리 뷰

반응형

Class (붕어빵 틀)

  • template
  • 선언 한 번
  • 데이터가 들어있지 않음

Object (팥붕어빵, 크림붕어빵, 초코붕어빵...)

  • class의 instance
  • 여러번 생성 가능
  • 데이터가 들어있음

자바스크립트에서 클래스

  • ES6에서 도입
  • 프로토타입-베이스 기반으로 만들어짐
  1. Class declarations

     class Person {
         constructor(name, age) {
             // fields
             this.name = name;
             this.age = age;
         }
    
         // methods
         speak() {
             console.log(`${this.name}: Hello!`);
         }
     }
    
     // ob
     const soo = new Person('hyun', 20);
     console.log(soo.name);
     console.log(soo.age);
     soo.speak();
     // hyun
     // 20
     // hyun: Hello!
    • 새로운 object를 만들 땐 new 사용
  2. Getter, Setter

     class Person {
         constructor(name, age) {
             this.name = name;
             this.age = age;
         }
         get age() {
             return this._age;
         }
         set age(val) {
             this._age = val < 0 ? 0 : val;
         }
     }
    • class안의 값을 설정하고 가져올 때 안전하게 가져오기 위한 용도
  3. Public, Private

    • public: 클래스 외부에서 접근 가능
    • private: 클래스 내부에서만 접근 가능
    • 아직 지원 안하는 브라우저 많음
  4. Static

    • object에 상관 없이 class에 연결
    • 아직 이른 기능
  5. 상속 & 다양성

    • 부모 클래스를 선언하고 자식 클래스가 extends로 상속받음
    • 자식 클래스는 부모 클래스의 fields와 method 사용가능
    • 자식 클래스에서 새로 정의하면 자식 클래스만의 method 사용 가능
    • 부모 클래스 것을 이용하려면 super 이용
  6. Instance of

    • instance of로 클래스 상속 받았는지 확인 가능
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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
글 보관함