c#
-
[C# / .NET] Java와 다른 문법카테고리 없음 2022. 4. 7. 22:04
Java와 다른 것 위주로 기술 로컬함수 로컬함수는 메소드 안에서 선언되고, 선언된 메소드 안에서만 사용되는 특별한 함수 클래스의 멤버가 아니기 때문에 메소드가 아니라 함수라고 부름 class SomeClass { public void SomeMethod() { int count = 0; SomeLocalFunction(1,2); //로컬 함수 호출 void SomeLocalFunction(int a, int b) //로컬 함수 선언 { //Do Some Work Console.WriteLine($"count : {++count}"); //로컬 함수는 자신이 속한 메소드의 지역 변수를 사용할 수 있음 } } } 선택적 인수 메소드의 기본변수는 기본값을 가질 수 있음 void MyMethod(int a, ..
-
[C# / .NET] CLR이란?.NET 2022. 4. 6. 11:03
C#으로 만든 프로그램은 CLR(Common Language Runtime) 위에서 실행되며, 자바 가상 머신과 비슷한 역할을 합니다. 그림처럼 CLR은 .NET 라이브러리와 함께 OS 위에 설치됩니다. 네이티브 코드로 작성된 프로그램들은 운영체제가 직접 실행할 수 있지만, C# 컴파일러가 만들어낸 실행 파일은 하드웨어가 이해할 수 없는 코드로 구성되어 있기 때문에 실행할 수 없습니다. C# 컴파일러는 C# 소스 코드를 컴파일해서 IL(Intermediate Language)이라는 중간 언어로 작성된 실행 파일을 만들어 냅니다. 사용자가 이 파일을 실행시키면 CLR이 중간 코드를 읽어 들여 다시 하드웨어가 이해할 수 있는 네이티브 코드로 컴파일한 후 실행시킵니다. 이것을 JIT(Just In Time) ..