일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- c언어
- git
- Algorithm
- jupyter lab
- 구조체
- c# winform
- 플러터
- vim
- github
- 포인터
- docker
- Unity
- 유니티
- c#
- c# 윈폼
- Python
- Flutter
- c# 추상 클래스
- jupyter
- gitlab
- Houdini
- C언어 포인터
- 다트 언어
- 깃
- dart 언어
- Data Structure
- C++
- HTML
- C# delegate
- 도커
- Today
- Total
목록c# dynamic (3)
nomad-programmer
파이썬(Python)과 루비(Ruby)는 최근 유행하고 있는 동적 언어(Dynamic Language 또는 Dynamic Typed Language)이다. CLR(Common Language Runtime) 은 IL(Intermediate Language)로 컴파일할 수 있는 언어들은 지원하지만, 파이썬이나 루비처럼 실행할 때 코드를 해석해서 실행하는 방식의 동적 언어는 지원할 수 없다. 그래서 마이크로소프트는 동적 언어를 실행할 수 있도록 해주는 플랫폼인 DLR(Dynamic Language Runtime)을 선보였다. DLR은 CRL위에서 동적하며, 파이썬이나 루비와 같은 동적 언어를 실행할 수 있다. DLR의 장점은 그저 동적 언어를 .NET 플랫폼에서 실행할 수 있다는 정도에서 그치지 않는다. D..
덕 타이핑 (Duck Typing) 오리처럼 걷고 오리처럼 헤엄치며 오리처럼 꽥꽥 거리는 새를 봤을 때, 나는 그 새를 오리라고 부른다. 이 문장은 미국의 시인인 제임스 위트콤 라일리의 시에서 인용된 것으로, 덕 타이핑을 가장 잘 설명하는 문장이기도 하다. 덕 타이핑은 객체 제향 프로그래밍과는 상당히 다른 각도에서 형식을 바라본다. 객체 지향 프로그래밍에서는 C#에서 어떤 형식이 오리라고 인정받으려면 그 형식의 조상 중에 오리가 있어야 한다. class Duck { public void Walk() { Console.WriteLine("Duck.Walk"); } public void Swim() { Console.WriteLine("Duck.Swim"); } public void Quack() { Con..
dynamic 형식도 int, string과 같은 하나의 데이터 형식이다. 다만 형식 검사가 컴파일할 때 이루어지는 다른 형식과는 달리 형식 검사가 프로그램 실행 중에 이루어진다는 점이 다르다. class MyClass { public void FuncA() { } } class MainApp { static void Main(string[] args) { MyClass obj = new MyClass(); obj.FuncA(); // FuncB() 메소드는 정의되어 있지 않으므로 컴파일 에러 발생 obj.FuncB(); } } 위의 코드는 컴파일되지 않는다. MyClass 클래스는 FuncB() 라는 메소드가 선언되어 있지 않기 때문이다. class MyClass { public void FuncA()..