Upload
alexandria-anagnos
View
95
Download
0
Embed Size (px)
DESCRIPTION
제 1 장 C# 의 기초 1.1 .NET Framwork 1.2 .NET Environment 1.3 C# 소개. Visual Studio.NET 설치하기. 컴포넌트 업데이트 컴포넌트 (Component) – 프로그램을 설치하기 위한 구성요소 Visual Studio.NET 설치의 1 단계 과정 Windows Component Update – 컴포넌트들을 VS.NET 에 필요한 수준으로 업데이트 Visual Studio.NET 설치 설치를 위한 리소스 임시디렉토리에 복사 사용권 계약 - PowerPoint PPT Presentation
Citation preview
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 Applicati
on 을 실행하는데 필요한 실행 엔진 , 응용 프로그램 실행 시 자동 연결 실행•
C# Programming
.NET Framework (cont..)
웹 서비스 사용자 인터페이스
ADO.NET( 데이터와 XML)
.NET Framework Class Library
CLR(Common Language Runtime)
메시지 큐잉 COM+ IIS WMI
Win32( 윈도우 플랫폼 )
ASP.NET
프로그래밍언어스크립팅 언어
.NET Framework 구성
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 코드로 컴파일
결과는 어셈블리 형태
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..)
도구상자 윈도우 컨트롤 웹폼 컨트롤 데이터 컨트롤 자주 사용되는 코드 등록
가능 컨트롤 추가 방법 –
컨트롤을 폼으로 드래그 , 도구상자의 컨트롤 더블 클릭
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..)
작업 목록과 출력 창 프로젝트가 컴파일 될때의
정보를 표시 직접 입력 및 VS.NET 에
의한 자동 생성
작업 목록 (Task)작업 목록 (Task)
출력 창 (Output Window)출력 창 (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() 메서드Main() 메서드
C# Programming
C# 소개 (cont..)
Visual C# 프로젝트에서 콘솔 응용 프로그램 선택
프로젝트명
확인 버튼 클릭시
HelloWorld 응용 프로그램 생성
프로젝트명
확인 버튼 클릭시
HelloWorld 응용 프로그램 생성
C# Programming
C# 소개 (cont..)
Class1.cs 의 이름을 HelloWorld.cs 라고 바꿔준다 . 오른쪽 마우스 이용 Class1.cs 파일을 선택
한 후 속성창에서 변경
Class1.cs 를 선택한 후 이 버튼을 클릭하면 속성창이 나타난다 .
Class1.cs 를 선택한 후 이 버튼을 클릭하면 속성창이 나타난다 .
C# Programming
C# 소개 (cont..)
컴파일과 실행 메뉴에서 [ 빌드 |솔루션 빌드 ]를선택하여 컴파일
[디버그 |시작 }을 선택하여실행한다 .
컴파일과 실행을 일괄적으로 처리하기 위해선 Ctrl+F5를 누르면 된다 .
C# Programming
C# 소개 (cont..)
HelloWorld.cs 분석 자바와 같이 main() 메서드를 포함하고 있는 클래스 이름과
파일 이름이 같아야 할 필요 없음 BCL(Base Class Library) 중 System namespace 안에 정의된
클래스 사용 명시
HelloWorld 란 이름의 namespace 로 정의유지보수와 프로그램 이해 이점
using System; using System;
Namespace HelloWorld
{
…//
}
Namespace HelloWorld
{
…//
}
C# Programming
C# 소개 (cont..)
class란 키워드를 사용하여 helloworld 클래스 선언
메인 함수를 하나의 싱글 쓰레드안에서 실행하기 위해 어트리뷰트를 선언Main() 메서드 안에서 멀티 쓰레드를 구현하기 위해서는 [MTAThread]로 설정
class helloworld
{
…
}
class helloworld
{
…
}
[STAThread][STAThread]
C# Programming
C# 소개 (cont..)
Main() 메서드는 애플리케이션의 진입점 static – 모든 클래스에서 공유하기 위한 멤버를 선언하는데 사용
객체를 생성하지 않고 시작이 가능 string[] args – 매개변수 , 명령행의 명령어를 인자로 받음
Console 클래스는 콘솔 응용프로그램에 대한 표준 입출력 및 오류 스트림을 말함 , Console 클래스의 WriteLine() 메서드를 이용하여 “ “ 내의 Hello, World! 문자열 출력
static void Main(string[] args)static void Main(string[] args)
Console.WriteLine(“Hello, World!”);Console.WriteLine(“Hello, World!”);