1장 C#의 배경.

Slides:



Advertisements
Similar presentations
제 1 장 자바 소개 Power Java. 프로그램이란 ? 그림 1-1. 프로그램은 작업 지시서와 같다.
Advertisements

2014 Advanced Programming Practice(1), 제 1 장 자바 소개 1.
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
제 11 장 프로그래밍 언어. 2/24 목차 1. 프로그래밍 언어 2. 주요 프로그래밍 언어 3. 제 4 세대 언어 4. 객체지향 언어 5. UNIX/Linux 기반 언어들 6. 닷넷 기반 언어 제 11 장 프로그래밍 언어.
KUMHO SOFTWARE DEVELOPMENT 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램 2.4 자바 응용 프로그램 2.5 자바 애플릿 프로그램 2. 자바 환경과 자바 프로그램.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
9. 중간언어 9-1. 소개 9-2. Polish표기법 주소 코드 9-4. 트리 구조 코드
C 언어 기초 1 위덕대학교 에너지전기공학부 이 수 형 2009년 1학기.
컴퓨터와 인터넷.
Chapter1 : 자바 소개 1.1 자바(JAVA) 언어의 역사 1.2 프로그래밍 언어 : 자바 1.3 플랫폼 : 자바
이 름: 정홍도 (과장) 팀 명: 개발사업팀 일 자:
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Security Solutions (S/W) - Fortify
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
제1장 C#의 기초 1.1 .NET Framwork 1.2 .NET Environment 1.3 C# 소개.
명품 JAVA Essential.
Power Java 제3장 이클립스 사용하기.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
3조 오세혁 김문환 김용현.
컴퓨터 프로그래밍 기초 [Final] 기말고사
Power Java 제2장 자바 개발 도구.
C 언어 1 1주차 C언어 시작하기 - 1차시 C 언어 특징 및 프로젝트 생성 Programming Language.
1장 자바 개발환경 구축하기.
운영체제 박상민.
JSP Programming with a Workbook
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 01. 이것이 C언어다.
Java 기초 (Java JDK 설치 및 환경설정)
.NET 프레임워크 개요.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
C / C++ Programming in multi platform
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
WinCE Device Driver 실습 #3
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
네트워크프로그래밍프로젝트 < 관리 tool >
Visual C++ Programming
Wireless Java Programming
AVR – ATmega103(ATMEL) Compilers & ISP
Chap 6.Assembler 유건우.
UNIX Unbounded A Beginning Approach
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
제 1장. C++ 시작하기.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
제1장 Unix란 무엇인가?.
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
CH2. ASP.NET 페이지 분석 HTML ASP ASP.NET 의 차이점.
자바 5.0 프로그래밍.
LabVIEW WiznTec 주임 박명대 1.
모바일 자바 프로그래밍 J2ME 개발 살펴보기 Ps lab 오민경.
Part 1 개요 Chapter 1 : 컴퓨터와 프로그램 그리고 자바 Chapter 2 : 자바의 환경
( Windows Service Application Debugging )
STS 에서 웹 서버 설치 방법.
암호학 응용 Applied cryptography
Introduction to JSP & Servlet
9. 중간언어 9-1. 소개 9-2. Polish표기법 주소 코드 9-4. 트리 구조 코드
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
Chapter 01 자바의 개요 자바는 최초 전자기기의 내장형 소프트웨어를 위해 개발되었으나, 최근 엔터프라이즈 응용에도 폭 넓게 활용됨 자바의 특징과 실행방법, 개발 환경 및 도구에 대해 소개.
공학도를 위한 C언어 프로그래밍실습1 -통합개발환경 사용법-
Numerical Analysis Programming using NRs
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
CHAP 15. 데이터 스토리지.
자바 프로그래밍 입문 : 객체지향적 사고법 chapter 01. 자바 언어의 소개.
1장. C Language Synopsis.
JAVA 프로그래밍 16장 JNLP.
Presentation transcript:

1장 C#의 배경

1.1 닷넷(.NET)

1.1.1 닷넷의 의미와 특징 닷넷이란(프로그래머 입장) 닷넷의 특징 C# 모든 것을 포괄하고 있는 이상적인 개발환경 플랫폼 독립성 닷넷 프레임웍만 설치되어 있으면 다양한 플랫폼에 동작 다양한 언어의 지원 개발자는 다양한 언어로 개발, 닷넷에서 하나의 방식으로 동작 MS에서 개발한 언어끼리의 통합(C#, Mananged C++, VB.NET, JScript.NET) 상호 운용성 서로 다른 언어들끼리의 호환성 C# 닷넷을 대표하는 언어 개발 툴 개발 언어 라이브러리 기반 기술 프로그래머 입장에서 닷넷은 이상적인 개발환경이다.

1.1.2 닷넷 프레임웍(.NET Framework) VB.NET C# Managed C++ JScript.NET Common Language Specification 공통 언어 스펙 .NET Framework Visual Studio .NET .NET Library Common Language Runtime 공통언어 런타임 Base Class Library Data and XML Web Services User Interface CLS의 규칙을 따르는 언어로 작성된 애플리케이션은 닷넷 프레임웍에서 동작할 수 있다. .NET 런타임

1.1.3 닷넷의 특징 플랫폼 독립성(Plaform Independent) 다양한 언어의 지원 닷넷 프레임웍만 설치되어 있다면 어떠한 운영체제에서도 닷넷 애플리케이션이 동작할 수 있다. 다양한 언어의 지원 CLS(Common Language Specification) 닷넷 프레임웍에서 동작하기 위해서 언어들이 지켜야 하는 표준 스펙 상호 운용성(Interoperability) 서로 다른 언어끼리의 호환성 C#에서의 COM 사용 C#에서의 Win32 API 사용 닷넷 지원 언어들끼리의 호환성

1.2 닷넷 언어의 핵심

1.2.1 중간언어 CLR이 실행 C# 코드 VB.NET 코드 Managed C++ 코드 C# 컴파일러 VB.NET 컴파일러 Microsoft Intermediate Language CLR이 실행 C# 어셈블리

1.2.2 Just In Time Compiler 중간언어(Intermediate Language) 중간언어와 동적 컴파일 기계어로 변환하기 쉬운 상태의 중간 단계의 언어 중간언어와 동적 컴파일 중간언어 C#의 최종 결과물(컴파일한 결과파일) 재컴파일 중간언어는 완벽한 기계어로 컴파일되어야만 실행될 수 있다. JIT(Just In Time Compiler) 중간언어를 동적으로 컴파일하는 컴파일러

1.2.3 JIT 컴파일러 운영체제 소스코드 중간언어(IL) JIT 컴파일러 완전한 기계어 JIT 컴파일러의 정확한 이름은 Just-In-Time 컴파일러이다. 소스코드 컴파일 중간언어(IL) 어셈블리 JIT 컴파일러 동적 컴파일러 CLR이 중간언어로 컴파일된 파일을 로딩하면 CLR 내의 JIT 컴파일러가 기계어로 컴파일하게 된다. 이 작업은 동적으로 이루어진다. 동적 컴파일 Common Language Runtime 완전한 기계어 프로그램 실행 운영체제

1.2.4 CLR(Common Language Runtime) .NET에서 프로그램을 로딩하고 동적 컴파일하며 실행해주는 메모리 관리까지 해주는 가상적인 운영 시스템 프로그래머 입장에서는 닷넷 프레임웍 자체를 CLR로 보아도 된다. 닷넷 프레임웍 내에 CLR이 포함되어 있다. CLR의 역할 프로그램 로딩 사용자가 프로그램을 실행하면 CLR이 프로그램을 로딩한다. 동적 컴파일 로딩된 프로그램은 CLR 내의 JIT에 의해서 동적으로 컴파일된다. 실행 동적으로 컴파일된 코드는 동적으로 적재되어 프로그램이 실행된다. 메모리 관리 CLR은 내부의 메모리 관리를 자동으로 하며 Garbage Collector를 운영한다.

1.2.5 컴파일과 실행 닷넷의 컴파일과 실행 C#의 어셈블리 어셈블리의 종류 컴파일 실행 중간언어(IL) 형태로 만든다. 실행 IL형태의 언어를 JIT가 재컴파일하여 .NET 환경의 CLR이 실행시킨다. C#의 어셈블리 중간언어 형태의 .exe나 .dll 파일들을 C#에서는 어셈블리(Assembly)라고 한다. 어셈블리의 종류 사설 어셈블리 Copy & Paste 개념의 프로그램 복사해서 사용하면 된다. 공용 어셈블리 레지스터 개념에서 발전된 형태 공용 어셈블리를 등록하는 것은 레지스터와 동일하다. 버전별로 독립적으로 관리하며 복사버젼을 보관한다. CLSID 대신 디지털 서명 방식으로 관리한다.

1.3 .NET과 언어

1.3.1 .NET과 C# .NET과 C#의 호환 C# 언어의 특징 C#의 라이브러리 .NET을 위해서 새롭게 만들어진 언어 기존 언어들의 장점만을 살려서 만든 언어 C#은 C++의 문법을 표준화하고 정리하고 발전시킨 언어이다. C#에서 C 문법을 사용할 수 있다.(포인터) C#에서 기존의 COM 컴포넌트를 사용할 수 있다. C#의 라이브러리 XML.NET ADO.NET ASP.NET XML Web Services

1.3.2 C#과 자바 인터프리터와 컴파일 언어 자바 C# 컴파일 언어는 프로그램을 한꺼번에 기계어로 변환해서 사용한다. 인터프리터 언어는 한줄씩 진행해 나가며 필요한 코드를 기계어로 해석해서 실행하는 방식이다. 자바 자바는 동적 해석 언어이다. 바이트코드를 인터프리터 방식으로 해석해서 실행 C# C#은 동적 컴파일 언어이다. JIT 컴파일러에 의해서 동적으로 중간언어(IL)을 재컴파일해서 실행 비슷한 개념

1.3.3 C# 정리 C#의 문법 C#의 특징 C#의 구성 문법적인 면에서 C보다 C++보다 명확하고 발전된 형태 모든 문법은 익숙해지기 전까지는 어렵다. C#의 특징 C#은 프로그래밍 언어이다. 엄청난 라이브러리를 제공하는 프로그래밍 언어이다. 라이브러리라기 보다는 기반 기술을 제공하는 개발환경이다. C#의 구성 기본 유틸 라이브러리 스레드 프로그래밍 네트워크 프로그래밍 XML.NET ADO.NET 웹 폼 프로그래밍 윈도우즈 프로그래밍 .NET Remoting XML Web Services