[μ‹€μŠ΅] Beesbeesbees

hyxooΒ·2023λ…„ 3μ›” 16일
0

μ½”λ“œμŠ€ν…Œμ΄μΈ 

λͺ©λ‘ 보기
21/37
post-thumbnail

πŸ“ [Section2_Unit2] 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ° #5

πŸ“Œ extends

βœ”οΈ λΆ€λͺ¨ ν΄λž˜μŠ€μ—μ„œ μƒμ†λ°›μ•„μ˜€λŠ” μžμ‹ ν΄λž˜μŠ€μ—μ„œ μ‚¬μš©λœλ‹€.

class Parent{ ... }

class Child extends Parent { ... }

πŸ“Œ super()

βœ”οΈ μ—¬λŸ¬ 속성을 상속받을 λ•ŒλŠ” super()에 인자 μ—¬λŸ¬κ°œλ₯Ό μ€€λ‹€. (superλŠ” ν•œλ²ˆλ§Œ 호좜 κ°€λŠ₯)
βœ”οΈ 무쑰건 super() 이후에 this λ₯Ό μ“Έ 수 있음.

class Person{
 constructor(name,age, food){
   this.name = name;
   this.age = age;
   this.food = food;
 }
}

class Student extends Person{
  constructor(name, age, food, grades){
    super(name, age, food);
    this.grades = 'A'; // κΌ­ λ³€μˆ˜λ‘œ 주지 μ•Šκ³  값을 ν• λ‹Ήν•  μˆ˜λ„ μžˆλ‹€.
    this.food = "pizza"; // μƒˆλ‘­κ²Œ μž¬ν• λ‹Ήλ„ ok
  }
}

πŸ“Ž super() μƒλž΅

βœ”οΈ μžμ‹ ν΄λž˜μŠ€μ—μ„œ μ˜€λ²„λΌμ΄λ”©ν•œ λΆ€λͺ¨ 클래슀의 λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•˜μ§€ μ•Šμ•„λ„ λ˜λŠ” 경우.
βœ”οΈ λΆ€λͺ¨ 클래슀의 μƒμ„±μž ν•¨μˆ˜κ°€ 인자λ₯Ό 받지 μ•Šκ³ , λΆ€λͺ¨ 클래슀의 μƒμ„±μž ν•¨μˆ˜κ°€ ν˜ΈμΆœλ˜μ§€ μ•Šμ•„λ„ λ˜λŠ” 경우

class Animal {
  constructor() {
    this.type = 'animal';
  }
}

class Cat extends Animal {
  constructor() {
    // λΆ€λͺ¨ 클래슀의 μƒμ„±μž ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜μ§€ μ•Šμ•„λ„ 됨
    this.name = 'cat';
  }
}
profile
hello world!

0개의 λŒ“κΈ€