db.incheon.ac.kr
Download
Report
Transcript db.incheon.ac.kr
제1장 C#의 기초
1.1 .NET Framwork
1.2 .NET Environment
1.3 C# 소개
C# Programming
Visual Studio.NET 설치하기
컴포넌트 업데이트
컴포넌트(Component) – 프로그램을 설치하기 위한 구성요소
Visual Studio.NET 설치의 1단계 과정
Windows Component Update – 컴포넌트들을 VS.NET에 필
요한 수준으로 업데이트
Visual Studio.NET 설치
설치를 위한 리소스 임시디렉토리에 복사
사용권 계약
설치 옵션 설정
C# Programming
.NET Framework
개요
여러 환경에서 응용 프로그램을 개발하기 위한 플랫폼
목표 – .NET Framework에 의한 서로 다른 기종들간의 통합
현재 Windows 운영체제에서만 실행, 차후 FreeBDS, Linux,
Mac., PDA 등에서 실행되는 버전 개발
다양한 응용 프로그램 개발 – Windows 응용 프로그램, 웹 응
용프로그램, 웹 서비스 등 모든 종류 가능
언어 독립적 – 다양한 언어 사용 개발 가능
C# Programming
.NET Framework (cont..)
.NET Framework 내용
방대한 코드라이브러리로 구성
용도와 목적에 따라 다른 모듈 구성
CTS(Common Type System) – 상호운영성을 위한 데이터의
기본적인 특징 정의, .NET 언어가 되기 위한 규약
CLR(Common Language Runtime) - .NET Framework
Application을 실행하는데 필요한 실행 엔진, 응용 프로그램
실행 시 자동 연결•실행
C# Programming
.NET Framework (cont..)
.NET Framework 구성
프로그래밍언어
스크립팅 언어
웹 서비스
사용자 인터페이스
ASP.NET
ADO.NET(데이터와 XML)
.NET Framework Class Library
CLR(Common Language Runtime)
메시지 큐잉
COM+
Win32(윈도우 플랫폼)
IIS
WMI
C# Programming
.NET Framework (cont..)
응용 프로그램 작성
C# 언어와 VS.NET의 추가적인 도구 사용
컴파일 – 2단계의 과정을 통한 실행 가능한 형태로 변환
MSIL(MicroSoft Intermediate Language) – 운영체제에 국
한되지 않은 중간 언어, 직접 실행 불가능
JIT(Just-In-Time) – MSIL 코드를 원시코드로 컴파일, OS
가 실행할 수 있는 응용프로그램의 형태
어셈블리(Assembly)
프로그램의 실행 및 배포 단위
실행파일(.exe), 라이브러리파일(.dll) 포함
메타데이터에 의한 자기서술적 특징
파일복사에 의한 응용 프로그램 배치 가능
C# Programming
.NET Framework (cont..)
관리되는 코드
CLR에 의한 관리 기능을 이용하여 실행되는 코드
가비지 컬렉션
응용프로그램이 사용하던 메모리를 해제
링킹
응용 프로그램 코드를 여러 개의 소스코드 파일로 나눈 후,
그것을 단일한 어셈블리로 합쳐서 컴파일 하는 것
코드를 여러 파일로 나누어 작업 → 완료시 파일은 코드 단위
작업 효율성 증가
C# Programming
.NET Framework (cont..)
전체 구조
C# 응용
프로그램 코드
네이티브 코드
컴파일
네이티브 코드
.NET CLR
컴파일
어셈블리
네이티브 코드
MSIL코드로 컴파일
결과는 어셈블리 형태
시스템 런타임
C# Programming
.NET Environment
Visual Studio.NET
차세대 운영환경을 개발하기 위한 도구
.NET Framework가 상위레벨로 존재 → 유연한 구조
CLS(Common Language Specification, 개발언어 인터페이스)
는 VB.NET, C#에 맞는 런타임 인터페이스 제공
상위의 언어(C#, VB.NET, C++, Jscript 등)는 동일한 하부구
조의 존재로 자신에게 맞는 언어로 프로그래밍
하나의 프로그램을 여러 언어로 작성가능
자유로운 디버깅
C# Programming
.NET Environment (cont..)
.NET의 특징
편리함, 향상된 생산성 – 동적 도움말, 자동 숨김 기능, 향상
된 코드 편집기능 등
새롭고 현대적인 언어 C# 포함
통합개발환경(1)
사용자를 위한 환경설정
시작 페이지는 웹 형식으로 구성 – 웹 브라우저 기본 내장
MSDN 도움말 활용 가능
다양한 기능이 있는 도구 모음
C# Programming
.NET Environment (cont..)
VS.NET 초기화면
C# Programming
.NET Environment (cont..)
도구상자
윈도우 컨트롤
웹폼 컨트롤
데이터 컨트롤
자주 사용되는 코드 등록 가
능
컨트롤 추가 방법 – 컨트롤
을 폼으로 드래그, 도구상자
의 컨트롤 더블 클릭
C# Programming
.NET Environment (cont..)
XML
데이터 교환의 표준으로 사용
데이터 교환 시 SOAP 이용
XML과 XSD를 간단하게 작
성할 수 있도록 지원
C# Programming
.NET Environment (cont..)
서버탐색기
서버 상태 리소스를 한눈에 보임
현재 사용 중인 모듈과 프로세스
의 리스트, 서비스 항목을 볼 수
있음
C# Programming
.NET Environment (cont..)
코드 편집기
코딩시 라인별 오류를
알려줌
프로시저별로 코드 내
용을 펼치거나 줄여서
볼 수 있음
C# Programming
.NET Environment (cont..)
솔루션 탐색기
솔루션 – 프로젝트보다 큰 범위,
연관된 다수의 프로젝트 포함가능
해당 솔루션을 구성하는 프로젝트
들과 각각의 프로젝트를 구성하는
네임스페이스, 클래스, 소스 코드
등을 디렉토리화 하여 관리 가능
팝업 메뉴를 통한 기능 지원
C# Programming
.NET Environment (cont..)
클래스 뷰
클래스에 대한 정보 표시, 편집 시 사용
C# Programming
.NET Environment (cont..)
속성 창
컨트롤의 속성과
이벤트에 대한 설
정 기능
기본 내용에서 바
뀐 부분은 볼드체
로 표시
컨트롤 더블 클릭
시 이벤트 핸들러
에 자동으로 바인
딩 기능 지원
C# Programming
.NET Environment (cont..)
동적 도움말
현재 개발자가 시행하고 있는
작업 내용을 자동으로 보여줌
버튼에 대한 작업 시 동적
으로 버튼에 대한 도움말을
보여줌
C# Programming
.NET Environment (cont..)
작업 목록과 출력 창
프로젝트가 컴파일 될때의
정보를 표시
직접 입력 및 VS.NET에 의
한 자동 생성
작업 목록(Task)
출력 창(Output Window)
C# Programming
C# 소개
.NET CLR안에서 실행되는 언어 중 하나
다른 언어들의 장점을 도입하고 문제점을 제거하
여 설계
데이터에 특정한 형식이 부여되면 그와 관계없는
형식으로 변환할 수 없음
형식의 안전을 위해 길고 장황한 코드를 작성필요
.NET 코드라이브러리가 제공하는 모든 기능들을
완전하게 활용
C# Programming
C# 소개 (cont..)
C#으로 작성할 수 있는 응용 프로그램
Windows 응용 프로그램
Web 응용 프로그램
Web Service
데이터 베이스 엑세스를 위한 응용 프로그램(ADO.NET)
네트워킹 구성 요소, 그래픽 출력, 복잡한 수학 연산 등을 위
한 도구
C# Programming
C# 소개 (cont..)
C# 프로그램의 구조
객체 지향 언어, 클래스 단위의 프로그램 방식
반드시 하나이상의 메인 메서드를 갖는 클래스가 존재
Main() 메서드
C# Programming
C# 소개 (cont..)
기본 클래스 구현하기
콘솔 응용 프로그램 생성
[파일|새로 만들기|프로젝트] 선택
C# Programming
C# 소개 (cont..)
Visual C# 프로젝트에서 콘솔 응용 프로그램 선택
프로젝트명
확인 버튼 클릭시
HelloWorld 응용
프로그램 생성
C# Programming
C# 소개 (cont..)
Class1.cs의 이름을 HelloWorld.cs라고 바꿔준다.
오른쪽 마우스 이용
Class1.cs파일을 선택
한 후 속성창에서
변경
Class1.cs를 선택
한 후 이 버튼을
클릭하면 속성창
이 나타난다.
C# Programming
C# 소개 (cont..)
기본으로 생성되는 코드
C# Programming
C# 소개 (cont..)
코드추가
예제 1-1
Hello, World!
콘솔 창에 출력
C# Programming
C# 소개 (cont..)
컴파일과 실행
메뉴에서 [빌드|솔루션 빌드]를
선택하여 컴파일
[디버그|시작}을 선택하여
실행한다.
컴파일과 실행을 일괄적으로
처리하기 위해선 Ctrl+F5를
누르면 된다.
C# Programming
C# 소개 (cont..)
HelloWorld의 결과 화면
C# Programming
C# 소개 (cont..)
HelloWorld.cs 분석
자바와 같이 main() 메서드를 포함하고 있는 클래스 이름과
파일 이름이 같아야 할 필요 없음
BCL(Base Class Library)중 System namespace 안에 정의된
클래스 사용 명시
using System;
HelloWorld 란 이름의 namespace로 정의
유지보수와 프로그램 이해 이점
Namespace HelloWorld
{
…//
}
C# Programming
C# 소개 (cont..)
class란 키워드를 사용하여 helloworld 클래스 선언
class helloworld
{
…
}
메인 함수를 하나의 싱글 쓰레드안에서 실행하기 위해 어트
리뷰트를 선언
Main() 메서드 안에서 멀티 쓰레드를 구현하기 위해서는
[MTAThread]로 설정
[STAThread]
C# Programming
C# 소개 (cont..)
Main() 메서드는 애플리케이션의 진입점
static – 모든 클래스에서 공유하기 위한 멤버를 선언하는데 사용
객체를 생성하지 않고 시작이 가능
string[] args – 매개변수, 명령행의 명령어를 인자로 받음
static void Main(string[] args)
Console 클래스는 콘솔 응용프로그램에 대한 표준 입출력 및
오류 스트림을 말함, Console 클래스의 WriteLine() 메서드
를 이용하여 “ “ 내의 Hello, World! 문자열 출력
Console.WriteLine(“Hello, World!”);