C# Programming2 C# using ํค์๋๋ก ๋ฆฌ์์ค๋ฅผ ์์ ํ๊ฒ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ(+ using ์ ์ธ๊ณผ using ๋ฌธ ์ฌ์ฉ์ ์ฐจ์ด) C#์์๋ ์ธ๋ถ ์์(ํ์ผ, ๋คํธ์ํฌ ์คํธ๋ฆผ, DB ์ฐ๊ฒฐ ๋ฑ)์ ๋ค๋ฃฐ ๋ ๋ฐ๋์ ๋ช ์์ ์ธ ํด์ ๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋์๋ ํ์ผ ์ ๊ธ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด C#์ IDisposable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๊ฐ์ฒด๋ฅผ ์๋์ผ๋ก ํด์ ํด์ฃผ๋ using ํค์๋๋ฅผ ์ ๊ณตํฉ๋๋ค.using ํค์๋๋ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์์ ๊ด๋ฆฌ์ ์ฝ๋์ ์์ ์ฑ ์ธก๋ฉด์์ ๋งค์ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. 1๏ธโฃ using ๋ฌธ (using statement) using (var stream = new FileStream("example.txt", FileMode.Open)){ // ํ์ผ์ ์ฝ๊ฑฐ๋ ์} // using ๋ธ๋ก์ด ๋๋๋ฉด stream.Dispose()๊ฐ ์๋.. C# Programming 2025. 4. 25. .NET (CLR) ํ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ GC (๊ทธ๋ฐ๋ฐ JVM ๊ณผ ๋น๊ต๋ฅผ ๊ณ๋ค์ธ....) NET (CLR) ํ ๋ฉ๋ชจ๋ฆฌ๊ตฌ์กฐ์ GC ์ ๋ํด์ ๊ทธ๋ฆฌ๊ณ JVM ํ๊ณผ GC์์ ์ฐจ์ด์ ์ ํจ๊ป ์ด์ผ๊ธฐ ํด๋ณด๊ฒ ์ต๋๋ค. 1๏ธโฃํ๋ฉ๋ชจ๋ฆฌ ๊ด์ ๐ฆ.NET.NET์ ํ์ ํฌ๊ฒ ์ฃผ์ํ ๋๊ฐ์ง ์์ญ์ผ๋ก ๋๋์ด์ง๋๋ค. SOH(Small Object Heap), LOH(Large Object Heap) ์ด๋ ๊ฒ ๋๊ฐ์ง๊ฐ ์์ต๋๋ค. 1. Small Object Heap(SOH, ์์ ๊ฐ์ฒด ํ) ํฌ๊ธฐ๊ฐ ์์ ๊ฐ์ฒด(85KB ๋ฏธ๋ง)๋ฅผ ์ ์ฅํ๋ ๊ธฐ๋ณธ์ ์ธ ํ ์์ญ์ธ๋(Generation)๋ก ๊ด๋ฆฌ๋ฉ๋๋ค. (Gen 0, Gen 1, Gen 2)SOH ์์ ๊ฐ๋น์ง ์ปฌ๋ ํฐ(GC)๊ฐ ์์ฃผ ์คํ๋ฉ๋๋ค. 2. Large Object Heap(LOH, ๋ํ ๊ฐ์ฒด ํ) 85KB(85,000๋ฐ์ดํธ) ์ด์ ํฌ๊ธฐ์ ๊ฐ์ฒด๊ฐ ์ ์ฅ๋ฉ๋๋ค.Gen 2 ์ธ๋์์๋ง.. C# Programming 2025. 3. 14. ์ด์ 1 ๋ค์