🌈 Programming/Dart

    [Dart] 상속과 Super, Override

    πŸ“š 상속 πŸ“ κ°œλ… λΆ€λͺ¨μ˜ μƒνƒœ(field)와 ν–‰μœ„(function)을 λ¬Όλ € λ°›λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€. β€’ λΆ€λͺ¨ ν΄λž˜μŠ€μ™€ μžμ‹ ν΄λž˜μŠ€κ°€ μžˆμŠ΅λ‹ˆλ‹€. β€’ 상속은 λΆ€λͺ¨ ν΄λž˜μŠ€μ—μ„œ μ§„ν–‰λ©λ‹ˆλ‹€. λΆ€λͺ¨ ν΄λž˜μŠ€κ°€ κ°–κ³  μžˆλŠ” λ³€μˆ˜μ™€ ν•¨μˆ˜λŠ” μžμ‹μ΄ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μžμ‹ ν΄λž˜μŠ€κ°€ 가지고 μžˆλŠ” λ³€μˆ˜μ™€ ν•¨μˆ˜λŠ” λΆ€λͺ¨κ°€ κ°€μ§ˆ 수 μ—†μŠ΅λ‹ˆλ‹€. πŸ“ 예제 1 μ‚¬λžŒ ν΄λž˜μŠ€κ°€ μžˆμŠ΅λ‹ˆλ‹€. class Person { } 이 μ‚¬λžŒ ν΄λž˜μŠ€λŠ” 이름을 κ°€μ‘Œκ³  말을 ν•˜λ©° 걸을 수 μžˆμŠ΅λ‹ˆλ‹€. class Person { Person({ required this.name, }); final String name; void speak() { print('μ•ˆλ…•ν•˜μ„Έμš” μ €λŠ” $nameμž…λ‹ˆλ‹€.'); } void walk() { print(..

    [Dart] Getter, Setter, μ ‘κ·Ό μ œν•œμž

    🌟 μ ‘κ·Ό μ œν•œμž 1. μ •μ˜ ν•¨μˆ˜λ‚˜ ν•„λ“œ(λ³€μˆ˜) 접근을 μ œν•œν•  수 μžˆμŠ΅λ‹ˆλ‹€. β€’ 기본적으둜 λ‹€λ₯Έ νŒŒμΌμ—μ„œ import만 λ°›μœΌλ©΄ public ν•˜κ²Œ 접근이 κ°€λŠ₯ν•©λ‹ˆλ‹€. β€’ private 둜 접근을 μ œν•œ ν–ˆμ„ 경우, 파일 λ‚΄λΆ€μ—μ„œλ§Œ 접근이 κ°€λŠ₯ν•©λ‹ˆλ‹€. 2. private μ„ μ–Έ 방법 ν•„λ“œμ™€ ν•¨μˆ˜ λͺ¨λ‘ 이름 μ•žμ— _ 을 μž…λ ₯ν•΄μ£Όλ©΄ λ©λ‹ˆλ‹€. class Student { String? _name; } 🌟 Getter 1. μ„ μ–Έ 방법 νƒ€μž… get κ²Œν„°λͺ… { return κ²Œν„° λ°˜ν™˜ κ°’ } λ‹¨μˆœνžˆ λ°˜ν™˜κ°’λ§Œ μž‘μ„±ν•  경우 μ•„λž˜μ™€ 같이 λžŒλ‹€μ‹ ν•¨μˆ˜λ‘œ ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€. νƒ€μž… get κ²Œν„°λͺ… => κ²Œν„°λ°˜ν™˜κ°’ 2. 예제 class Student { String? name; int? _age = 0; int? get age => _a..

    [Dart] 클래슀 μƒμ„±μž(Class Constructor)

    πŸ”Ž μƒμ„±μž(Constructor) πŸ“ μ •μ˜ 클래슀(Class)λŠ” 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°(OOP)μ—μ„œ 객체(object)λ₯Ό μƒμ„±ν•˜κΈ° μœ„ν•΄ μ •μ˜ν•˜λŠ” μΌμ’…μ˜ ν‹€μž…λ‹ˆλ‹€. void main() { print('class 곡뢀'); // μΈμŠ€ν„΄μŠ€(instance) : 객체(object) 생성 // Student νƒ€μž…μ˜ firlStudent λ³€μˆ˜ 생성 // Student girlStudent = Student('였λƒ₯', 10); Student girlStudent = Student(name: '였λƒ₯', age: 10); girlStudent.printTinfo(); // μƒμ„±μžλŠ” 생성을 ν•  λ•Œλ§Œ 적용 // 생성 μ‹œ μž…λ ₯ 받은 '였λƒ₯'은 '학생'이 ..

    [Dart] 클래슀(Class) μ„ μ–Έκ³Ό μΈμŠ€ν„΄μŠ€(Instance)

    πŸ”Ž 클래슀(Class) πŸ“ μ •μ˜ 클래슀(Class)λŠ” 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°(OOP)μ—μ„œ 객체(object)λ₯Ό μƒμ„±ν•˜κΈ° μœ„ν•΄ μ •μ˜ν•˜λŠ” μΌμ’…μ˜ ν‹€μž…λ‹ˆλ‹€. class λŠ” λ³€μˆ˜μ™€ ν•¨μˆ˜λ₯Ό μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λΉ„μŠ·ν•œ 성격을 가진 μ—°κ΄€μžˆλŠ” λ³€μˆ˜μ™€ ν•¨μˆ˜λ“€μ„ ν•œ class에 μ •μ˜ν•©λ‹ˆλ‹€. πŸ“ μž‘μ„±λ°©λ²• 클래슀λͺ…μ˜ μ•žκΈ€μžλŠ” λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•΄μ•Ό ν•©λ‹ˆλ‹€. // class 클래슀λͺ… {} class Student { String name = 'ohmyo'; // μ΄ˆκΈ°κ°’ ν• λ‹Ή int? age; // null을 ν—ˆμš© void printTinfo() { print('----------------'); print('name: $name'); print('age: $age'); pri..

    [Dart] 객체 닀루기 Map νƒ€μž…

    πŸ”Ž Map πŸ“ νŠΉμ§• β€’ key, value pair(ν•œμŒ) 이뀄진 자료 ꡬ쑰 β€’ key 값이 쀑볡 X πŸ“ μ‚¬μš©λ°©λ²• void main() { // map μ„ μ–Έ 방법1 Map joinInputForm = { 'name': 'ohmyo', 'age': 5, 'list': [true, true, true], 'phone': '010-0000-0000', }; print(joinInputForm['name']); // ohmyo // μ„ μ–Έ 방법2 Map map = {}; print(map); // {} // key κ°’ ν• λ‹Ή // key κ°’ μ—†λ‹€? = insert map['name'] = 'oh..

    [Dart] μ—΄κ±°ν˜• λ³€μˆ˜(List, Set)와 μ œλ„€λ¦­(Generic)

    πŸ”Ž μ—΄κ±°ν˜• λ³€μˆ˜ πŸ“ List νŠΉμ§• β€’ List λŠ” μ—¬λŸ¬κ°€μ§€λ₯Ό 담을 수 μžˆλŠ” κ°’μž…λ‹ˆλ‹€. β€’ List λŠ” μˆœμ„œκ°€ 보μž₯λ©λ‹ˆλ‹€. β€’ .add() λ₯Ό μ΄μš©ν•΄ 값을 μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. β€’ .addAll() λ₯Ό μ΄μš©ν•΄ μ—¬λŸ¬κ°œμ˜ 값을 μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. β€’ .length λ₯Ό μ΄μš©ν•΄ 리슀트의 길이값을 ꡬ할 수 μžˆμŠ΅λ‹ˆλ‹€. void main() { // List μ„ μ–Έ 방법 List list = []; print(list); // [] list.add('a'); // a μΆ”κ°€ list.add('b'); // b μΆ”κ°€ print(list); // [a, b] // list 길이값 .length print(list.length); // 2 print(list[0]); // a // list μ•ˆμ— 값을 get (index 기반..

    [Dart] κΈ°λ³Έ κ°œλ… 및 기초 문법

    1. λ‹€νŠΈ(Dart) λž€ 무엇인가? ꡬ글(Google)이 μ›Ή ν”„λ‘ νŠΈμ—”λ“œ κ΅¬ν˜„μ„ λͺ©μ μœΌλ‘œ 2011년에 λ°œν‘œν•œ μ›Ή ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄(https://dart.dev/)이닀. λ‹€νŠΈλŠ” ν”„λ‘ νŠΈμ—”λ“œ 뿐만 μ•„λ‹ˆλΌ μ„œλ²„ ν”„λ‘œκ·Έλž˜λ°, λͺ…λ Ήμ–΄ 슀크립트 λ“±μœΌλ‘œ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ©° 웹앱이 μ•„λ‹Œ λ„€μ΄ν‹°λΈŒ μ½”λ“œλ‘œ μ•ˆλ“œλ‘œμ΄λ“œ 및 ios 용 앱을 λ™μ‹œμ— κ°œλ°œν•˜λŠ” 것도 κ°€λŠ₯ν•˜λ‹€. Dart programming language Dart is a client-optimized language for fast apps on any platform dart.dev 2. λ‹€νŠΈ(Dart)의 νŠΉμ§• λ‹€νŠΈλŠ” main() ν•¨μˆ˜λ‘œ μ‹œμž‘ν•œλ‹€. void main() { // Hello World 좜λ ₯ print('Hello World'); } λ³€μˆ˜λŠ” var ν‚€μ›Œλ“œ..