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!”);