๐ฅ Bread Basics49 Dart ์ธ์ด ๊ธฐ๋ณธ๊ธฐ ๋ฐฐ์ฐ๊ธฐ https://www.inflearn.com/course/dart-%EC%96%B8%EC%96%B4-%EC%9E%85%EB%AC%B8 [์ง๊ธ ๋ฌด๋ฃ][์ฝ๋ํฉํ ๋ฆฌ] [์ ๋ฌธ] Dart ์ธ์ด 4์๊ฐ๋ง์ ์์ ์ ๋ณต ๊ฐ์ | ์ฝ๋ํฉํ ๋ฆฌ - ์ธํ๋ฐ์ฝ๋ํฉํ ๋ฆฌ | , ๊ฐ๋ฐ์ ๋ํด ์๋ฌด ๊ฒ๋ ๋ชฐ๋ผ๋ ๊ด์ฐฎ์์ ๐โ๏ธ๋ด ์์ผ๋ก ์ฑ ๋ง๋ค๊ธฐ ์ฒซ๊ฑธ์! Dart ์ธ์ด, ์ ๋๋ก ๋ฐฐ์๋ณด์! ๐ [์ฌ์ง] iOS์ Android์์ ์ฑ์ ๊ฐ๋ฐํ ์ ์๋ Flutter ํ๋ ์์ํฌwww.inflearn.com ์ธํ๋ฐ์์ flutter์ ๊ธฐ๋ณธ dart์ธ์ด ๊ฐ์๋ฅผ ๋ค์๋ค. ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ์๊ฒ ๋ ๋ด์ฉ ์์ฃผ๋ก ์ ๋ฆฌํ๋ ค๊ณ ํ๋ค. ๋ณ์ ? ์ ! (nullable, non-nullable) Final๊ณผ Const๊ณตํต์ ์ฐจ์ด์ final:- ํ ๋น.. 2025. 4. 28. mixin, sealed, base ํด๋์ค void main() {}// Mixin Class// 1) mixin์ extended๋ with์ ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ mixin class๋// ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ์ฉ ๋ถ๊ฐ๋ฅํ๋ค// 2) ํด๋์ค๋ on ํค์๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ mixin class๋ on ํค์๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค.mixin class AnimalMixin { String bar() { return '๋ฉ๋ฉ'; }}class Dog with AnimalMixin{}// sealed ํด๋์ค๋ abstract์ด๋ฉด์ final์ด๋ค// ๊ทธ๋ฆฌ๊ณ ํจํด๋งค์นญ์ ์ฌ์ฉ ํ ์ ์๋๋ก ํด์ค๋คsealed class Person3 {}class Idol extends Person3 {}class Engineer extends.. 2025. 4. 25. Record(ํํ), Destructuring void main() { final result = nameAndAge({'name': '๋ฏผ์ง', 'age': 20}); print(result); print(result.$1); print(result.$2); print('---------------'); final result3 = getNewJeansWithType(); for (final item in result3) { print(item.$1); print(item.$2); } print(result3); print('---------------'); final result4 = getNewJeansWithType2(); for (final item in result4) { print(item.name);.. 2025. 4. 25. Future, async, await, stream, listen, sink, yield void main() async { // Future - ๋ฏธ๋ // ๋ฏธ๋์ ๋ฐ์์ฌ ๊ฐ? Future name = Future.value('๋ธ๋๋'); Future number = Future.value(1); Future isTrue = Future.value(true); final result1 = await addNumbers(1, 1); final result2 = await addNumbers(2, 2); print('result1: $result1'); print('result2: $result2'); print('result1 + result2 : ${result1 + result2}');}Future addNumbers(int number1, int number2) asyn.. 2025. 4. 25. ํ๋ณํ, map, where, reduce/fold, ์ฒด์ด๋ ์ ์ฌ๋ฐ๋ค. ์ฝ๋ฉ ์ฌ๋ฐ๋ค~void main() { List blackPink = ['๋ก์ ', '์ง์','๋ฆฌ์ฌ', '์ ๋', '์ ๋']; print(blackPink); print(blackPink.asMap()); print(blackPink.toSet()); Map blackPinkMap = blackPink.asMap(); print(blackPinkMap.keys); print(blackPinkMap.keys.toList()); print(blackPinkMap.values); print(blackPinkMap.values.toList()); Set blackPinkSet = Set.from(blackPink); print(blackPinkSet.toList());.. 2025. 4. 25. @ovveride void main() { TimesTwo tt = TimesTwo(2); print(tt.calculate()); TimesFour tf = TimesFour(2); print(tf.calculate());}class TimesTwo { final int number; TimesTwo( this.number, ); int calculate() { return number * 2; }}class TimesFour extends TimesTwo { TimesFour( int number, ): super(number); @override int calculate() { return super.calculate() * 2; }} 2025. 4. 24. OOP์ ์์!! https://www.inflearn.com/course/dart-%EC%96%B8%EC%96%B4-%EC%9E%85%EB%AC%B8 ๋จผ์ ํ์ฌ [์ฝ๋ํฉํ ๋ฆฌ] [์ ๋ฌธ] Dart ์ธ์ด 4์๊ฐ๋ง์ ์์ ์ ๋ณต์ ๋ฃ๊ณ ์๋๋ฐ ์์์ ๋ํด ์ฝ๋๋ฅผ ๊ณต๋ถํ๊ฒ ์๋๋ฐ ์์ ๋ฉด ์์ฌ์ธ๊ฑฐ๊ฐ์ ๋จ๊น๋๋ค. ์ด ์ฝ๋๋ง ๋ณด๋ฉด ์์์ ๋ํด ํ์ธํ ์์์ด์! void main() { print('---------------Idol---------------------'); Idol apink = Idol(name: '์์ดํํฌ', membersCount: 5); apink.sayName(); apink.sayMembersCount(); BoyGroup bts = BoyGroup('BTS', 7); print('-------.. 2025. 4. 24. [Flutter] Hot Reload๋? Hot Reload๋? vscode์์ command + s ๋ง ํ๋๋ ๋ฐ๋ก ์ ์ฉ์ด ๋๋๊ฑธ Hot Reload!! ์ค ๋น ๋ฅธ๋ฐ~ ์๋ฌ๋ค๊ฐ ๋ฐ๋ก ์๋๋์ด๋น~๊ทผ๋ฐ hot reload๊ฐ build ๋ฉ์๋ ํ์ ์ด๋ผ๊ณ ํ๋ค. ๋ง์ฝ ํซ๋ฆฌ๋ก๋๊ฐ ์๋๋ฉด? ๊ทธ๊ฑฐ๋ ๋ณ๊ฒฝํ ๋ด์ฉ์ด build ๋ฉ์๋ ๋ด์ ์์ง ์์ ๊ฐ๋ฅ์ฑ์ด ํฌ๋ค๊ณ ์ด ๋ธ๋ก๊ทธ๊ฐ ๊ทธ๋ฌ๋ค์ฌ http://velog.io/@yoojkim/Flutter-HotReload%EB%9E%80-1%EB%B6%84-%EC%95%88%EC%97%90-%EC%95%8C%EC%95%84%EA%B0%80%EB%8A%94-HotReload 2025. 4. 23. Obj-C ๊ณต์ ๋ฌธ์ ์ ๋ฆฌ - ์ค๋ ๋ฉ๊ณผ ๋๊ธฐํ ์๋ ํ์ธ์. ์ด๋ฒ์๋ Objective-C์์ ๋ฉํฐ์ค๋ ๋ฉ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ๊ณผ ์ค๋ ๋ ๊ฐ ๋๊ธฐํ๋ฅผ ์ํ @synchronized ์ง์์ด์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.๐ ์ค๋ ๋ฉ ์ง์ ๊ฐ์Objective-C๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฉํฐ์ค๋ ๋ฉ์ ์ง์ํฉ๋๋ค. ์ด๋ ๋ ๊ฐ์ ์ค๋ ๋๊ฐ ๋์์ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์์ ํ๋ ค๊ณ ํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ, ์ด๋ฌํ ์ํฉ์ ํ๋ก๊ทธ๋จ์์ ์ฌ๊ฐํ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์์ต๋๋ค.๋ฉํฐ์ค๋ ๋ฉ(Multithreading): ์ฌ๋ฌ ์คํ ํ๋ฆ(์ค๋ ๋)์ด ๋์์ ์คํ๋๋ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ์ ๋๋ค.์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Objective-C๋ ํ ๋ฒ์ ํ๋์ ์ค๋ ๋๋ง ์ฝ๋ ์น์ ์ ์คํํ ์ ์๋๋ก ๋ณดํธํ๋ @synchronized() ์ง์์ด๋ฅผ ์ ๊ณตํฉ๋๋ค.์ฐธ๊ณ ๋ก ์ค๋ ๋ ๋๊ธฐํ์ ์์ธ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋.. 2025. 4. 14. Obj-C ๊ณต์ ๋ฌธ์ ์ ๋ฆฌ - ์์ธ ์ฒ๋ฆฌ ์๋ ํ์ธ์. ์ด๋ฒ์๋ Objective-C์ ์์ธ ์ฒ๋ฆฌ(Exception Handling)์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.๐ Objective-C ์์ธ ์ฒ๋ฆฌ ๊ฐ์Objective-C ์ธ์ด๋ Java๋ C++๊ณผ ์ ์ฌํ ์์ธ ์ฒ๋ฆฌ ๊ตฌ๋ฌธ์ ์ ๊ณตํฉ๋๋ค. ์ด ๊ตฌ๋ฌธ์ NSException, NSError ๋๋ ์ฌ์ฉ์ ์ ์ ํด๋์ค์ ํจ๊ป ์ฌ์ฉํ๋ฉด ํ๋ก๊ทธ๋จ์ ๊ฐ๋ ฅํ ์ค๋ฅ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.์์ธ(Exception): ํ๋ก๊ทธ๋จ์ ์ ์์ ์ธ ์คํ ํ๋ฆ์ ์ค๋จ์ํค๋ ํน๋ณํ ์กฐ๊ฑด์ผ๋ก, ๋ค์ํ ์ค๋ฅ ์ํฉ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.๐ ์์ธ ์ฒ๋ฆฌ ๊ธฐ๋ฅ ํ์ฑํํ๊ธฐObjective-C์์ ์์ธ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ํ์ฑํํ๋ ค๋ฉด GNU ์ปดํ์ผ๋ฌ ์ปฌ๋ ์ (GCC) ๋ฒ์ 3.3 ์ด์์์ -fobjc-exceptions ์ค์์น๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.. 2025. 4. 14. ์ด์ 1 2 3 4 5 ๋ค์