OHMYO
괴발개발 기둝일지
OHMYO
전체 방문자
2,131
였늘
0
μ–΄μ œ
2
  • λΆ„λ₯˜ 전체보기 (20)
    • πŸš€ Daily Life (1)
      • λ•μ§ˆ (1)
      • 회고 (0)
    • 🍎 MAC OS (1)
    • πŸ”« Algorithm (0)
      • Goormlevel (0)
    • 🌈 Programming (17)
      • Dart (7)
      • ETC (1)
      • Flutter (4)
      • Git (0)
      • Javascript (1)
      • Laravel (2)
      • PHP (2)
    • 🌎 Server (1)
    • 🧠 Database (0)
      • MySQL (0)
    • πŸ’» Computer Science (0)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

  • [Dart] Getter, Setter, μ ‘κ·Ό μ œν•œμž
    2022.06.06
    [Dart] Getter, Setter, μ ‘κ·Ό μ œν•œμž
  • λ§₯μ—μ„œ XAMPP(Apache, MySQL, PHP, Peβ‹―
    2021.12.17
    λ§₯μ—μ„œ XAMPP(Apache, MySQL, PHP, Peβ‹―
  • [Flutter] ν”ŒλŸ¬ν„° ν”„λ‘œμ νŠΈ ꡬ쑰 μ΄ν•΄ν•˜κΈ°
    2022.06.07
    [Flutter] ν”ŒλŸ¬ν„° ν”„λ‘œμ νŠΈ ꡬ쑰 μ΄ν•΄ν•˜κΈ°
  • [Dart] 클래슀 μƒμ„±μž(Class Constructorβ‹―
    2022.06.06
    [Dart] 클래슀 μƒμ„±μž(Class Constructorβ‹―
  • [Dart] 객체 닀루기 Map νƒ€μž…
    2022.06.06
    [Dart] 객체 닀루기 Map νƒ€μž…

νƒœκ·Έ

  • ν”Œλ£¨ν„°
  • override
  • crud
  • λ§₯
  • constructor
  • μ›Ήμ„œλ²„
  • ajax
  • argument
  • 상속
  • parameter
  • php
  • Server
  • Laravel
  • λ•μ§ˆ
  • XAMPP
  • μ„œλ²„κ΅¬μΆ•
  • 도메인
  • Containe
  • Class
  • Sizedbox
  • Super
  • μ•±
  • dart
  • flutter
  • CENTER
  • HOBBY FAIR
  • 인자
  • json
  • MYSQL
  • Instance

졜근 κΈ€

  • [Flutter] 단일 λ°•μŠ€(Container) μœ„μ ― μž‘μ„±
    2022.06.07
    [Flutter] 단일 λ°•μŠ€(Container) μœ„μ ― μž‘μ„±
  • [Fltutter] MaterialApp, Text, Scβ‹―
    2022.06.07
    [Fltutter] MaterialApp, Text, Scβ‹―
  • [Flutter] ν”ŒλŸ¬ν„° ν”„λ‘œμ νŠΈ ꡬ쑰 μ΄ν•΄ν•˜κΈ°
    2022.06.07
    [Flutter] ν”ŒλŸ¬ν„° ν”„λ‘œμ νŠΈ ꡬ쑰 μ΄ν•΄ν•˜κΈ°
  • [Dart] 상속과 Super, Override
    2022.06.07
    [Dart] 상속과 Super, Override
  • [Dart] Getter, Setter, μ ‘κ·Ό μ œν•œμž
    2022.06.06
    [Dart] Getter, Setter, μ ‘κ·Ό μ œν•œμž

ν‹°μŠ€ν† λ¦¬

κ°œμΈμ •λ³΄

  • ν‹°μŠ€ν† λ¦¬ ν™ˆ
  • μŠ€ν† λ¦¬
  • 포럼
  • 둜그인
hELLO Β· Designed By μ •μƒμš°.
OHMYO

괴발개발 기둝일지

[Dart] 상속과 Super, Override
🌈 Programming/Dart

[Dart] 상속과 Super, Override

2022. 6. 7. 03:27

πŸ“š 상속

πŸ“ κ°œλ…

λΆ€λͺ¨μ˜ μƒνƒœ(field)와 ν–‰μœ„(function)을 λ¬Όλ € λ°›λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.
β€’ λΆ€λͺ¨ ν΄λž˜μŠ€μ™€ μžμ‹ ν΄λž˜μŠ€κ°€ μžˆμŠ΅λ‹ˆλ‹€.
β€’ 상속은 λΆ€λͺ¨ ν΄λž˜μŠ€μ—μ„œ μ§„ν–‰λ©λ‹ˆλ‹€.

  • λΆ€λͺ¨ ν΄λž˜μŠ€κ°€ κ°–κ³  μžˆλŠ” λ³€μˆ˜μ™€ ν•¨μˆ˜λŠ” μžμ‹μ΄ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • ν•˜μ§€λ§Œ μžμ‹ ν΄λž˜μŠ€κ°€ κ°€μ§€κ³  μžˆλŠ” λ³€μˆ˜μ™€ ν•¨μˆ˜λŠ” λΆ€λͺ¨κ°€ κ°€μ§ˆ 수 μ—†μŠ΅λ‹ˆλ‹€.

πŸ“ 예제 1

μ‚¬λžŒ ν΄λž˜μŠ€κ°€ μžˆμŠ΅λ‹ˆλ‹€.

class Person {

}

이 μ‚¬λžŒ ν΄λž˜μŠ€λŠ” 이름을 κ°€μ‘Œκ³  말을 ν•˜λ©° 걸을 수 μžˆμŠ΅λ‹ˆλ‹€.

class Person {
  Person({
    required this.name,
  });

  final String name;

  void speak() {
    print('μ•ˆλ…•ν•˜μ„Έμš” μ €λŠ” $nameμž…λ‹ˆλ‹€.');
  }

  void walk() {
    print('$name, κ±·κ³  μžˆμŠ΅λ‹ˆλ‹€.');
  }
}

μ‚¬λžŒ ν΄λž˜μŠ€λŠ” μ•„λž˜μ™€ 같은 λ°©λ²•μœΌλ‘œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

void main() {
  Person mom = Person(name: 'μ—„λ§ˆ');
  print(mom.name); // μ—„λ§ˆ
  mom.speak(); // μ•ˆλ…•ν•˜μ„Έμš” μ €λŠ” μ—„λ§ˆμž…λ‹ˆλ‹€.
  mom.walk(); // μ—„λ§ˆ, κ±·κ³  μžˆμŠ΅λ‹ˆλ‹€.
}

이름이 νžˆμ–΄λ‘œμΈ μžμ‹ 클래슀λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

class Hero {

}

μžμ‹μ΄ λΆ€λͺ¨ν΄λž˜μŠ€λ₯Ό 상속받기 μœ„ν•΄μ„  extends ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•΄μ•Όν•©λ‹ˆλ‹€.

class Hero extends Person {
}

super class person 이 μƒμ„±μžλ‘œ name 을 ν•„μˆ˜κ°’μœΌλ‘œ 전달받기 λ•Œλ¬Έμ—
μ•„λž˜μ™€ 같이 νžˆμ–΄λ‘œλ„ μƒμ„±μžλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

class Hero extends Person {
  Hero(String name) : super(name: name);
}

νžˆμ–΄λ‘œ ν΄λž˜μŠ€λŠ” λΆ€λͺ¨ ν΄λž˜μŠ€μ™€ λ‹€λ₯΄κ²Œ ν•˜λŠ˜μ„ λ‚  수 μžˆμ–΄
fly ν•¨μˆ˜λ₯Ό μΆ”κ°€ν•΄μ£Όμ—ˆμŠ΅λ‹ˆλ‹€.

class Hero extends Person {
  Hero(String name) : super(name: name);

  void fly() {
    print('$name νžˆμ–΄λ‘œ λ‚ λ‹€');
  }
}

λΆ€λͺ¨λŠ” μžμ‹μ˜ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•  수 μ—†μ§€λ§Œ
μžμ‹μ€ λΆ€λͺ¨μ˜ ν•¨μˆ˜μ™€ λ³€μˆ˜λ₯Ό 마음껏 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Hero child = Hero('μžμ‹');
child.speak();
child.walk();

μžμ‹μ€ μžμ‹ λ§Œμ΄ κ°€μ§€κ³  μžˆλŠ” κΈ°λŠ₯(ν•¨μˆ˜)λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

void main() {
  Person mom = Person(name: 'μ—„λ§ˆ');
  mom.speak();
  mom.walk();

  Hero child = Hero('μžμ‹');
  child.speak();
  child.walk();
  child.fly();
}

'🌈 Programming > Dart' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Dart] Getter, Setter, μ ‘κ·Ό μ œν•œμž  (0) 2022.06.06
[Dart] 클래슀 μƒμ„±μž(Class Constructor)  (0) 2022.06.06
[Dart] 클래슀(Class) μ„ μ–Έκ³Ό μΈμŠ€ν„΄μŠ€(Instance)  (0) 2022.06.06
[Dart] 객체 닀루기 Map νƒ€μž…  (0) 2022.06.06
[Dart] μ—΄κ±°ν˜• λ³€μˆ˜(List, Set)와 μ œλ„€λ¦­(Generic)  (0) 2022.06.06
    '🌈 Programming/Dart' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [Dart] Getter, Setter, μ ‘κ·Ό μ œν•œμž
    • [Dart] 클래슀 μƒμ„±μž(Class Constructor)
    • [Dart] 클래슀(Class) μ„ μ–Έκ³Ό μΈμŠ€ν„΄μŠ€(Instance)
    • [Dart] 객체 닀루기 Map νƒ€μž…
    override, Super, 상속
    OHMYO
    OHMYO
    [Dart] Getter, Setter, μ ‘κ·Ό μ œν•œμž
    이전 κΈ€
    [Dart] Getter, Setter, μ ‘κ·Ό μ œν•œμž

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”