๐ฅ Bread Basics54 @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. Obj-C ๊ณต์ ๋ฌธ์ ์ ๋ฆฌ - ์ ๋ ํฐ(Selector) ์๋ ํ์ธ์. ์ด๋ฒ์๋ Objective-C์ ์ ๋ ํฐ(Selector)์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.๐ ์ ๋ ํฐ๋ ๋ฌด์์ธ๊ฐ?Objective-C์์ ์ ๋ ํฐ๋ ๋ ๊ฐ์ง ์๋ฏธ๋ฅผ ๊ฐ์ง๋๋ค:์์ค ์ฝ๋์์ ๊ฐ์ฒด์ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ๋ ์ฌ์ฉ๋๋ ๋ฉ์๋ ์ด๋ฆ์์ค ์ฝ๋๊ฐ ์ปดํ์ผ๋ ๋ ์ด๋ฆ์ ๋์ฒดํ๋ ๊ณ ์ ์๋ณ์ (ํ์ : SEL)์ ๋ ํฐ(Selector): ๋ฉ์๋๋ฅผ ์๋ณํ๋ ๊ณ ์ ์๋ณ์๋ก, ๋ฐํ์์ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.๋ชจ๋ ๋์ผํ ์ด๋ฆ์ ๋ฉ์๋๋ ๋์ผํ ์ ๋ ํฐ๋ฅผ ๊ฐ์ง๋๋ค. ์ ๋ ํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด์ ๋ฉ์๋๋ฅผ ํธ์ถํ ์ ์์ผ๋ฉฐ, ์ด๋ Cocoa์ ํ๊ฒ-์ก์ (target-action) ๋์์ธ ํจํด ๊ตฌํ์ ๊ธฐ์ด๊ฐ ๋ฉ๋๋ค.๐ ๋ฉ์๋์ ์ ๋ ํฐ์ ๊ด๊ณํจ์จ์ฑ์ ์ํด ์ปดํ์ผ๋ ์ฝ๋์์๋ ์ ์ฒด ASCII ์ด๋ฆ์ด ๋ฉ์๋ ์ ๋ ํฐ๋ก ์ฌ์ฉ๋์ง .. 2025. 4. 14. Obj-C ๊ณต์ ๋ฌธ์ ์ ๋ฆฌ - ์ ์ ๋์ ์ดํดํ๊ธฐ ์๋ ํ์ธ์. ์ด๋ฒ์๋ Objective-C์ ์ ์ ํ์ดํ(Static Typing)๊ณผ ๊ทธ ์๋ ๋ฐฉ์, ๊ทธ๋ฆฌ๊ณ Objective-C์ ๋ค๋ฅธ ๊ธฐ๋ฅ๋ค์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ํนํ Objective-C์ ๋์ ํน์ฑ์ ์ผ์์ ์ผ๋ก ์ ์ดํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ดํด๋ณผ ์์ ์ ๋๋ค.๐ ๊ธฐ๋ณธ ๋์ ๋์(Default Dynamic Behavior)Objective-C๋ ์ค๊ณ์ ๊ฐ์ฒด๊ฐ ๋์ ์ํฐํฐ์ ๋๋ค. ๊ฐ์ฒด์ ๊ดํ ๋ง์ ๊ฒฐ์ ์ด ์ปดํ์ผ ์๊ฐ์ด ์๋ ๋ฐํ์์ผ๋ก ๋ฏธ๋ค์ง๋๋ค:๊ฐ์ฒด์ ๋ฉ๋ชจ๋ฆฌ๋ ์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ํด๋์ค ๋ฉ์๋์ ์ํด ๋ฐํ์์ ๋์ ์ผ๋ก ํ ๋น๋ฉ๋๋ค.๊ฐ์ฒด๋ ๋์ ์ผ๋ก ํ์ ์ด ์ง์ ๋ฉ๋๋ค. ์์ค ์ฝ๋(์ปดํ์ผ ์๊ฐ)์์ ๊ฐ์ฒด์ ํด๋์ค๊ฐ ๋ฌด์์ด๋ ์๊ด์์ด ๋ชจ๋ ๊ฐ์ฒด ๋ณ์๋ id ํ์ ์ด ๋ ์ ์์ต๋๋ค.๋ฉ์์ง์ ๋ฉ์๋๋ ๋์ ์ผ๋ก ๋ฐ.. 2025. 4. 14. Obj-C ๊ณต์ ๋ฌธ์ ์ ๋ฆฌ - ๋น ๋ฅธ ์ด๊ฑฐ(Fast Enumeration) ์๋ ํ์ธ์. ์ด๋ฒ์๋ Objective-C์์ ์ปฌ๋ ์ ์ ์์๋ฅผ ํจ์จ์ ์ผ๋ก ์ํํ ์ ์๋ ๋น ๋ฅธ ์ด๊ฑฐ(Fast Enumeration) ๊ธฐ๋ฅ์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค. iOS/macOS ๊ฐ๋ฐ์์ ์์ฃผ ์ฌ์ฉ๋๋ ์ด ์ ์ฉํ ๊ธฐ๋ฅ์ ์์ธํ ์์๋ด ์๋ค.๐ ๋น ๋ฅธ ์ด๊ฑฐ๋ ๋ฌด์์ธ๊ฐ?๋น ๋ฅธ ์ด๊ฑฐ๋ ์ปฌ๋ ์ ์ ๋ด์ฉ์ ํจ์จ์ ์ด๊ณ ์์ ํ๊ฒ ์ด๊ฑฐํ ์ ์๋๋ก ํด์ฃผ๋ Objective-C์ ์ธ์ด ๊ธฐ๋ฅ์ ๋๋ค. ๊ฐ๊ฒฐํ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด, ๋์ ๋๋ฆฌ, ์ธํธ ๋ฑ์ ์ปฌ๋ ์ ์์๋ฅผ ์ฝ๊ฒ ์ํํ ์ ์์ต๋๋ค.๋น ๋ฅธ ์ด๊ฑฐ(Fast Enumeration): Objective-C์์ ์ปฌ๋ ์ ์ ์์๋ฅผ ํจ์จ์ ์ผ๋ก ์ํํ๊ธฐ ์ํ ์ธ์ด ๊ธฐ๋ฅ์ผ๋ก, for...in ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค.๐ for...in ๊ตฌ๋ฌธ๋น ๋ฅธ ์ด๊ฑฐ์ ๊ตฌ๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค:for (Ty.. 2025. 4. 14. Obj-C ๊ณต์ ๋ฌธ์ ์ ๋ฆฌ - ์ฐ๊ด ์ฐธ์กฐ(Associative References) ์๋ ํ์ธ์! ์ด๋ฒ์๋ Objective-C์ ์ฐ๊ด ์ฐธ์กฐ(Associative References)์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ํด๋์ค ์ ์ธ์ ์์ ํ์ง ์๊ณ ๋ ๊ฐ์ฒด์ ์ ์ฅ ๊ณต๊ฐ์ ์ถ๊ฐํ ์ ์์ด ๋งค์ฐ ์ ์ฉํฉ๋๋ค.๐ ์ฐ๊ด ์ฐธ์กฐ๋?OS X v10.6๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅํ ์ฐ๊ด ์ฐธ์กฐ๋ ๊ธฐ์กด ํด๋์ค์ ๊ฐ์ฒด ์ธ์คํด์ค ๋ณ์๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ์๋ฎฌ๋ ์ด์ ํฉ๋๋ค. ์ฐ๊ด ์ฐธ์กฐ๋ฅผ ์ฌ์ฉํ๋ฉด ํด๋์ค ์ ์ธ์ ์์ ํ์ง ์๊ณ ๋ ๊ฐ์ฒด์ ์ ์ฅ ๊ณต๊ฐ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.์ฐ๊ด ์ฐธ์กฐ(Associative References): ๊ธฐ์กด ํด๋์ค์ ์ฝ๋๋ฅผ ์์ ํ์ง ์๊ณ ๋ฐํ์์ ๊ฐ์ฒด์ ๋์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ ๋ฉ์ปค๋์ฆ์ ๋๋ค.์ด ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ ์ํฉ์์ ํนํ ์ ์ฉํฉ๋๋ค:ํด๋์ค์ ์์ค ์ฝ๋์ ์ ๊ทผํ ์ ์๋ ๊ฒฝ์ฐ๋ฐ์ด๋๋ฆฌ ํธํ์ฑ ์ด.. 2025. 4. 14. Obj-C ๊ณต์ ๋ฌธ์ ์ ๋ฆฌ - Categories์ Extensions ์๋ ํ์ธ์. ์ค๋์ Objective-C์ Categories์ Extensions์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ์ด ๊ธฐ๋ฅ๋ค์ ๊ธฐ์กด ํด๋์ค์ ๊ธฐ๋ฅ์ ํ์ฅํ๋ ์ ์ฉํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.๐ Categories์ Extensions ๊ฐ์Category๋ ๊ธฐ์กด ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ถ๊ฐํ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ฌ์ง์ด ์์ค ์ฝ๋๊ฐ ์๋ ํด๋์ค์๋ ์ ์ฉ ๊ฐ๋ฅํฉ๋๋ค! Categories๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ธํด๋์ฑ ์์ด๋ ๊ธฐ์กด ํด๋์ค์ ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์์ผ๋ฉฐ, ์์ ์ ํด๋์ค ๊ตฌํ์ ์ฌ๋ฌ ํ์ผ์ ๋ถ์ฐ์ํฌ ์๋ ์์ต๋๋ค.Class Extensions(ํ์ฅ)์ Categories์ ์ ์ฌํ์ง๋ง, ์ฃผ ํด๋์ค์ @interface ๋ธ๋ก ์ธ๋ถ์์ ํด๋์ค์ ํ์ํ ์ถ๊ฐ API๋ฅผ ์ ์ธํ ์ ์๊ฒ ํด์ค๋๋ค.Category: ๊ธฐ์กด ํด๋์ค์ ์.. 2025. 4. 14. ์ด์ 1 2 3 4 5 6 ๋ค์