π μμ
π κ°λ
λΆλͺ¨μ μν(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 |