오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의)
아래에서 닷넷 환경 하에서 프로그램이 실행되는 형태를 보도록 하겟습니다. 자바에서는 .java 파일이 .class 파일로 바뀌고 이것이 JVM에 로딩되어 실행되는 구조이죠, 그런다음 JVM에서는 자바바이트 코드를 하나씩 해당 OS의 기계어(Native Code)로 번역을 하는 겁니다. 물론 번역을 그때그때 하면 JIT(Just-In-Time) 이라고 하고 병목현상이 일어날것
? The CLR defines the Common Type System (CTS)
? All languages built on the CLR use the CTS
? Types are divided into two categories
1. Value types:
- Relatively simple types
- Typically allocated on the stack
2. Reference types:
- More complex types
- Allocated on the heap
- Destroyed through garbage collection
CLR은 CTS라는 것을 정의하는데 무엇인고 하니 C#이든 VB.Net이든 동일한 형태의 데이터 타입을 사용하는 겁니다. 예를들면 System.Int32라는 Class는 int형을 이야기 하는데
(int i=0; 또는 System.Int32 i=0; 둘다 같은 의미 입니다.)
C#이나 VB.Net등 어떠한 닷넷 언어에서든 공통으로 사용한다는 이야기 입니다. 과게에 C언어에서 Int형은 2바이트 또는 4바이트로 고정된것은 아니었습니다. 즉 32비트가 1워드이면 4바이트, 16비트가 1워드이면 2바이트 등으로 타입이 고정되지 않아 타입 안정성이 떨어 졌으니까요. 그래서 닷넷은 공용의 데이터 타입을 정의한거죠...물론 일반적인 원시데이터 타입(int, float, long등)은 Value Type이라고 하여 Stack에 저장되고 객체등은 Reference Type이라고 새서 Heap에 저장 됩니다.
CTS의 구조를 아래에서 보도록 하죠^^; (Value-Type이든 Reference Type이든 모드 객체 입니다. 위에서 말씀드린것과 같이 int 형은 System.Int32라는 클래스 타입이죠)
오늘 자바에서의 JVM과 같은 닷넷에서의 CLR에 대해 살펴 보았습니다. 어렵게 보일지는 모르지만 자바의 특을 어느정도 이해하고 계신다면 닷넷은 껌입니다. 항상 자바+알파 이니까요... 또한 CLR은 BCL(BAse Class Library)라고 해서 닷넷에서 사용되는 1000여가지의 클래스를 지웝합니다. 즉 C#이든 VB.Net이든 이 클래스는 똑같이 가져다 쓸수 있고 이름또한 같이 사용한다는 이야기 입니다. 아래의 예를 비교해 보세요...(결국 같은 Class를 이용하는 겁니다. 참 공부하기 편하죠^^;)
C# .Net 에서 MDB에 접근할려면 아래와 같이 합니다.
string CnString ="Data Source=student.mdb; Provider=Microsoft.Jet.OLEDB.4.0;"; OleDbConnection objConnection = new OleDbConnection (CnString);
objConnection.Open();
한편 VB.Net에서는
dim strConnection = "Data Source=student.mdb; Provider=Microsoft.Jet.OLEDB.4.0;"
dim objConnection as new OLEDBConnection(strConnection)
objConnection.open()
C# .Net 에서 MDB에 접근할려면 아래와 같이 합니다.
string CnString ="Data Source=student.mdb; Provider=Microsoft.Jet.OLEDB.4.0;"; OleDbConnection objConnection = new OleDbConnection (CnString);
objConnection.Open();
한편 VB.Net에서는
dim strConnection = "Data Source=student.mdb; Provider=Microsoft.Jet.OLEDB.4.0;"
dim objConnection as new OLEDBConnection(strConnection)
objConnection.open()
댓글 없음:
댓글 쓰기