๐ŸคŸ
Vanilla-JS
  • TRIPLE-PLUS Adout
  • Babel.JS
  • 01.Vanilla-JS
    • 01. Hello JavaScript
    • 02. ๋ณ€์ˆ˜
      • 02-1.์ง€ํ‚ค๋ฉด ์ข‹์€ ๋ฃฐ(๋” ์ข‹์€ ์Šคํƒ€์ผ์„ ์œ„ํ•ด์„œ)
      • 02-2.์ˆซ์žํ˜•๊ฟ€ํŒ(์ˆ˜์‹ ์ค„์ด๊ธฐ)
    • 03. ์—ฐ์‚ฐ์ž
    • 04. ์กฐ๊ฑด๋ฌธ
    • 05. ํ•จ์ˆ˜
      • this์˜ ์˜๋ฏธ 6๊ฐœ ์ด์ •๋ฆฌ
      • event listener์™€ constructor
      • 05-1. return:๋Œ๋ ค์ฃผ๋‹ค
      • 05-2. ํ˜• ๋ณ€ํ™˜ ํ•จ์ˆ˜
      • 05-3. Arrow function
    • 06. ๊ฐ์ฒด
    • 07. ๋ฐฐ์—ด
      • 07-1. ๋ฐฐ์—ด ์•ˆ์— ๋ฐฐ์—ด(2์ฐจ ๋ฐฐ์—ด)
      • 07-2. ๋ฐฐ์—ด๋‚ด์žฅ ํ•จ์ˆ˜(forEach)
      • 07-3. ๋ฐฐ์—ด๋‚ด์žฅ ํ•จ์ˆ˜(sort)
      • 07-4. ๋ฐฐ์—ด๋‚ด์žฅ ํ•จ์ˆ˜(map)
      • 07-5. ๋ฐฐ์—ด๋‚ด์žฅ ํ•จ์ˆ˜(indexOf)
      • 07-6. ๋ฐฐ์—ด๋‚ด์žฅ ํ•จ์ˆ˜(filter)
      • 07-7. ๋ฐฐ์—ด๋‚ด์žฅ ํ•จ์ˆ˜(splice, slice)
      • 07-8. ๋ฐฐ์—ด๋‚ด์žฅ ํ•จ์ˆ˜(shift, unshift, pop, push)
      • 07-9. ๋ฐฐ์—ด๋‚ด์žฅ ํ•จ์ˆ˜(concat, join)
      • 07-10. ๋ฐฐ์—ด๋‚ด์žฅ ํ•จ์ˆ˜(reduce)
      • 07-10. ๋ฐฐ์—ด๋‚ด์žฅ ํ•จ์ˆ˜(reduce)2
    • 08. ๋ฐ˜๋ณต๋ฌธ
    • 09. Class์™€ ํ”„๋กœํ† ํƒ€์ž…
      • 09-1. ํ”„๋กœํ† ํƒ€์ž…๊ณผ ํด๋ž˜์Šค - ์ƒ์„ฑ์ž
      • 09-2. ํ”„๋กœํ† ํƒ€์ž…๊ณผ ํด๋ž˜์Šค - ์ƒ์„ฑ์ž ์ƒ์†ํ•˜๊ธฐ
      • Class & Constructor & Method
      • super
      • Static Method
      • Class Getter, Setter
      • Information Hiding
      • Inheritance & Polymorphism
      • Overriding
      • Abstract Class
      • Interface
    • Math ์ •๋ฆฌ
    • String ์ •๋ฆฌ
    • Array์ •๋ฆฌ
    • Date ์ •๋ฆฌ
      • D-day ๊ตฌํ•˜๊ธฐ
  • 02.Vanilla-JS
    • 01.์‚ผํ•ญ์—ฐ์‚ฐ์ž
    • 02. Truthy and Falsy
    • 03. ๋‹จ์ถ• ํ‰๊ฐ€ ๋…ผ๋ฆฌ ๊ณ„์‚ฐ๋ฒ•
    • 04. ํ•จ์ˆ˜ ์—…๊ทธ๋ ˆ์ด๋“œ (default parameter/arguments)
    • 05. ์กฐ๊ฑด๋ฌธ ๋” ์Šค๋งˆํŠธํ•˜๊ฒŒ ์“ฐ๊ธฐ
    • 06. ๋น„๊ตฌ์กฐํ™” ํ• ๋‹น (๊ตฌ์กฐ๋ถ„ํ•ด) ๋ฌธ๋ฒ•
    • 07. spread ์™€ rest
      • ํ•จ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ์—์„œ์˜ rest(params)
      • ํ•จ์ˆ˜ ์ธ์ž์—์„œ์˜ spread
    • 08. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ Scope ์— ๋Œ€ํ•œ ์ดํ•ด
    • 09. Hoisting ์ดํ•ดํ•˜๊ธฐ
    • 10. Native DOM ์„ ํƒ
  • 03.๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ
    • 01. fetch, then, catch[Promise] ์ดํ•ดํ•˜๊ธฐ
    • 02. ์ง์ ‘ ๋งŒ๋“ค์–ด๋ณด๋Š” Promise ๊ฐ์ฒด
    • 03. async/await
    • 04. Promise all, Promise.race
  • REST API ์ œ๋Œ€๋กœ ์•Œ๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ
    • mongodb Atlas
    • mongodb Atlas(DB)์— ์ ‘๊ทผํ•˜๋ ค๋ฉด
    • URL ์ด๋ฆ„์ง“๊ธฐ ๊ด€์Šต
    • Database์— ์ž๋ฃŒ ์ €์žฅํ•˜๋Š” ๋ฒ•
    • ๊ฒŒ์‹œ๋ฌผ๋งˆ๋‹ค ๋ฒˆํ˜ธ๋ฅผ ๋‹ฌ์•„ ์ €์žฅํ•˜๊ธฐ
    • ๊ฒŒ์‹œ๋ฌผ๋งˆ๋‹ค ๋ฒˆํ˜ธ๋ฅผ ๋‹ฌ์•„ ์ €์žฅํ•˜๊ธฐ2
  • JQUERY + SCRIPT ์œ ์šฉํ•œ ์ฝ”๋“œ ์ •๋ฆฌ
  • Practice(์‹ค์Šต)
    • ์นด์šดํ„ฐ ๋งŒ๋“ค๊ธฐ
    • reduce
    • ๋ฐ์ดํ„ฐ ์ž๋ฃŒํ˜• ํ™œ์šฉํ•˜๊ธฐ1
    • ๋ฐ์ดํ„ฐ ์ž๋ฃŒํ˜• ํ™œ์šฉํ•˜๊ธฐ2
    • ๋ฐ์ดํ„ฐ ๊ฐ€์ง€๊ณ  ๋†€๊ธฐ(์‘์šฉ)1
    • ๋ฐ์ดํ„ฐ ๊ฐ€์ง€๊ณ  ๋†€๊ธฐ(์‘์šฉ)2
    • REST API
    • ๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ1
    • ๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ2
    • ๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ3
    • ๋น„๊ตฌ์กฐํ™” ํ• ๋‹น
    • rest + spread(์‘์šฉ)1
    • rest + spread(์‘์šฉ)2
    • rest + spread(์‘์šฉ)3
    • ๋ฐ˜๋ณต๋ฌธ ๋‚ด์žฅํ•จ์ˆ˜(์‘์šฉ)1
    • ํ•จ์ˆ˜ ๊ฐ€์ง€๊ณ  ๋†€๊ธฐ(์‘์šฉ)1
    • ์„œ๋ฒ„์™€์˜ ํ†ต์‹ 1
    • ์„œ๋ฒ„์™€์˜ ํ†ต์‹ 2
    • new Promise(์‘์šฉ)2
    • new Promise(์‘์šฉ)3
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ด๋ฒคํŠธ ์œ„์ž„ ํ•ต์‹ฌ ์ •๋ฆฌ
Powered by GitBook
On this page

Was this helpful?

  1. 01.Vanilla-JS
  2. 09. Class์™€ ํ”„๋กœํ† ํƒ€์ž…

Overriding

PreviousInheritance & PolymorphismNextAbstract Class

Last updated 4 years ago

Was this helpful?

์˜ค๋ฒ„๋กœ๋”ฉ(Overloading)์€ ๊ฐ™์€ ์ด๋ฆ„, ๋‹ค๋ฅธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง„ ๋ฉ”์†Œ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์กด์žฌํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋ฉด ๋‹ค๋ฅธ ๋ฉ”์†Œ๋“œ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ์ธ๋ฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. (๋Œ€์‹  ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜๋Š” ์žˆ๋‹ค.) ํ•œ ํด๋ž˜์Šค ์•ˆ์— ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋ฉ”์†Œ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์กด์žฌํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, constructor๋„ ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜๋งŒ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

์˜ค๋ฒ„๋ผ์ด๋”ฉ(Overriding)์€ subclass๊ฐ€ superclass์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ๋ฎ์–ด์“ฐ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๋จผ์ € Foodํด๋ž˜์Šค์— makeNoise() ๋ฉ”์†Œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค.

// Food.js
class Food{
    constructor(name) {
        this.name = name;
    }
    
    getName() {
        return this.name;
    }
    
    makeNoise() {
        console.log('It makes a noise');
    }
}

export default Food;

Deep ํด๋ž˜์Šค์— ๊ฐ™์€ ์ด๋ฆ„์˜ ๋ฉ”์†Œ๋“œ makeNoise()๋ฅผ ์ •์˜ํ–ˆ๋‹ค.

// Deep.js
import Food from './Food';

class Deep extends Food{
    constructor(name) {
        super(name);
    }
    
    // Override
    makeNoise() {
        console.log('Bark!');
    }
}

export default Deep ;

Foodํด๋ž˜์Šค์˜ makeNoise()๊ฐ€ Deep ํด๋ž˜์Šค์˜ makeNoise()๋กœ ์˜ค๋ฒ„๋ผ์ด๋“œ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

// index.js
import Deep from './Deep';

let jake = new Deep('Jake');

console.log(jake.getName()); // 'Jake'
jake.makeNoise(); // ์˜ค๋ฒ„๋ผ์ด๋“œ๋œ ๊ฒฐ๊ณผ 'Bark!' 
๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์กด์žฌ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋ถ„๊ธฐ๋ฅผ ๋‚˜๋ˆ„๋Š” ๋ฐฉ์‹