제 1장 C#의 개요

Similar documents
임베디드 시스템 소프트웨어

(Microsoft PowerPoint - Ch03_1.ppt [\310\243\310\257 \270\360\265\345])

C# 입문 : 이론과 실습

PowerPoint Presentation

PowerPoint Presentation

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint - chap01-C언어개요.pptx

PowerPoint Presentation

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

1 1 제 1 장 C# 의개요 1.1 소개 1.2 콘솔 / 윈폼애플리케이션 C# 개발환경 콘솔애플리케이션 윈폼애플리케이션 C# 프로그램실행과정 1.3 기본특징 자료형 연산자 배열 스트

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - lec2.ppt

JAVA PROGRAMMING 실습 05. 객체의 활용

Microsoft PowerPoint - C++ 5 .pptx

PowerPoint Presentation

PowerPoint Presentation

C# 입문 : 이론과 실습

Visual Basic Visual Basic 소개

PowerPoint Template

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Template

C# 입문 : 이론과 실습

초보자를 위한 C# 21일 완성

JVM 메모리구조

Microsoft PowerPoint - hci2-lecture2.ppt [호환 모드]

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

PowerPoint Presentation

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - chap06-2pointer.ppt

슬라이드 1

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

쉽게

Microsoft PowerPoint - ch07 - 포인터 pm0415

쉽게 풀어쓴 C 프로그래밍

ThisJava ..

JAVA PROGRAMMING 실습 08.다형성

슬라이드 1

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

gnu-lee-oop-kor-lec10-1-chap10

쉽게 풀어쓴 C 프로그래밍

gnu-lee-oop-kor-lec06-3-chap7

OCW_C언어 기초

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - 2강

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Design Issues

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - Chapter 6.ppt

Microsoft PowerPoint - lec12 [호환 모드]

PowerPoint Presentation

윈도우시스템프로그래밍

C++ Programming

No Slide Title

PowerPoint 프레젠테이션

Microsoft PowerPoint - e pptx

제8장 자바 GUI 프로그래밍 II

Microsoft PowerPoint 장강의노트.ppt

쉽게 풀어쓴 C 프로그래밍

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

JAVA PROGRAMMING 실습 02. 표준 입출력

제11장 프로세스와 쓰레드

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

임베디드 시스템 소프트웨어

JAVA PROGRAMMING 실습 02. 표준 입출력

C# 입문 : 이론과 실습

11장 포인터

슬라이드 1

PowerPoint Presentation

PowerPoint 프레젠테이션

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

슬라이드 1

PowerPoint Presentation

17장 클래스와 메소드

Microsoft PowerPoint - 1장 C 프로그래밍 시작하기 pptx

4장.문장

Microsoft PowerPoint - hci2-lecture2.ppt [호환 모드]

Microsoft PowerPoint - Java7.pptx


1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

유니티 변수-함수.key

3ÆÄÆ®-11

윤성우의 열혈 TCP/IP 소켓 프로그래밍

Slide 1

Microsoft PowerPoint - Chap12-OOP.ppt

Visual Basic 반복문

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax

JAVA PROGRAMMING 실습 05. 객체의 활용

PowerPoint Presentation

어댑터뷰

C# Programming Guide - Types

Microsoft PowerPoint - 8ÀÏ°_Æ÷ÀÎÅÍ.ppt

쉽게 풀어쓴 C 프로그래밍

C# 입문 : 이론과 실습

C++ Programming

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

PowerPoint 프레젠테이션

Transcription:

C# 프로그래밍언어 MS사의앤더스헬스버그 (Anders Hejlsberg) 가고안.NET에최적화된언어컴포넌트지향프로그래밍언어자바의단점을보완 실행방법 : 자바 : 인터프리테이션, C#: 컴파일방법자바언어를대체할수있는언어 C# 의특징 객체지향언어 : 자료추상화델리게이트와이벤트멀티스레드, 예외처리연산자중복, 제네릭

C 계열의언어 C++ 와자바로부터영향을받았음. C: 연산자와문장등기본적인언어의기능 C++: 객체지향속성, 연산자중복, 제네릭 (Generic) 자바 : 예외처리와스레드 C# 언어의계통도

콘솔애플리케이션 문자기반명령어프롬프트환경에서실행 키보드를통해입력, 화면에문자로출력 윈폼애플리케이션 윈도우폼애플리케이션 (Windows forms Application) 의약어 GUI를통해서입출력을수행이벤트처리방식을통해실행 C# 개발환경 SDK를이용 편집기, 컴파일러, 실행엔진, 클래스라이브러리통합개발환경 (IDE) Visual Studio.NET

일반적인응용프로그램 예제프로그램 : [ 예제 1.1 HelloWorld.cs] 네임스페이스 실행과정 using System; class HelloWorld { public static void Main() { Console.WriteLine("Hello World!"); } } 실행결과 : Hello World! C:\temp>csc HelloWorld.cs C:\temp>HelloWorld Hello World! 출력메소드

윈도우응용프로그램 예제프로그램 : [ 예제 1.2 WinFormApp.cs] using System; using System.Windows.Forms; class WinFormApp : Form { WinFormApp() { Text = "Hello World!"; } public static void Main() { Application.Run(new WinFormApp()); } } 실행결과 : Text 프로퍼티 타이틀바에출력

컴파일과정 csc : C# compiler 실행시스템 CLR Common Language Runtime 실행과정

자료형변수나상수가가질수있는값과연산의종류를결정 C# 의자료형값형 (value type) 참조형 (reference type) 숫자형정수형 signed sbyte, short, int, long unsigned byte, ushort, uint, ulong 실수형 float, double, decimal 연산자표준 C 언어와유사형검사연산자 (type testing operator) is 호환가능한지를검사 as 지정한형으로변환

배열형 같은형을갖는여러개의값을저장할수있는자료구조. 배열변수선언 배열을가리키는참조변수 int[] vector; short[,] matrix; long[][] arrayofarray; object[] myarray1, myarray2;

배열객체생성 new 연산자 vector = new int[100]; matrix = new short[10,100]; myarray1 = new Point[3]; 배열사용 for (int i=0; i<vector.length; i++) vector[i] = i;

스트링 C# 에서스트링은객체 System.String 클래스의객체 C# 의 string 형은 String 클래스의 alias 스트링상수 이중인용부호 ( ) 로묶인문자들의나열 ( 예 : I am a string. ) 스트링초기화 string s = Hello ; string s = new string( Hello ); 스트링연결 + 연산자 : concatenation operator string s = Hello ; s += World ; => s: Hello World

통합개발환경시작하기 소스코드보기 윈폼애플리케이션작성하기

윈폼애플리케이션 컨트롤을사용하여프로그래머가원하는화면을구성하고이벤트가발생했을때처리하고자하는작업을이벤트처리기에기술하는방식으로프로그래밍된프로그램. 윈도우폼에컨트롤또는컴포넌트를배치하고이벤트처리기를등록하여사용자의다양한요구를입력으로받아처리한후실행결과를응답해주는방식으로작동.

윈도우폼 단순히폼이라고부름. 운영체제에서제공하는기본적인화면단위인창을말하는개념. 사각형모양의작은화면영역을의미사용자에게정보를제공하고사용자가입력하는자료를받음.

폼클래스 윈도우폼을나타내는클래스. System.Windows.Forms 네임스페이스속함. 컴포넌트클래스 컨트롤클래스의베이스클래스이며화면에직접적으로나타나지않으나개념적인부분을나타내는클래스. 컨트롤클래스 폼에직접표시되는컨트롤을위한클래스.

1. 새프로젝트시작 파일 (F) 새로만들기 (N) 프로젝트 (P) 를선택. 프로젝트형식 (P) Visual C# 프로젝트 그리고 템플릿 (T) Windows 응용프로그램 을선택.

윈도우폼디자이너 솔루션탐색기 도구상자 속성브라우저

윈도우폼디자이너폼의크기를조정하고폼에컨트롤을배치하고배치된컨트롤의위치와크기를수정할수있는영역. 도구상자폼에배치할수있는컨트롤과컴포넌트의목록을보여주는곳 속성브라우저폼디자이너에서선택한폼이나컴포넌트의프로퍼티와이벤트목록을보여주는곳 솔루션탐색기응용프로그램을구성하고있는파일과관련항목을보여주는곳현재응용프로그램에새폼이나파일을추가하거나또는존재하는파일이나항목을삭제할때사용

속성브라우저

생성된프로젝트의파일 App.ico : 응용프로그램에서사용되는기본아이콘에대한파일 AssemblyInfo.cs : 프로젝트가생성하는어셈블리를설명하고버전관리정보를지정하는데사용하며, 애트리뷰트정의를포함하는 C# 소스파일 Form1.cs : 응용프로그램의 C# 소스파일 Form1.resx : Form1.cs 파일과관련된리소스정보를저장하는 XML 파일 WindowsApplication1.csproj : Visual C# 프로젝트파일 WindowsApplication1.csproj.user : 사용자정의설정을포함하는 Visual C# 프로젝트파일 WindowsApplication1.suo : 사용자정의정보를포함하는 Visual C# 솔루션파일

public class Form1 : System.Windows.Forms.Form { // 필드항목선언 public Form1() { InitializeComponent(); // 컴포넌트초기화 // 기타멤버초기화 } protected override void Dispose(bool disposing) { // 사용중인리소스를정리 } private void InitializeComponent() { // 클래스에서사용하는컴포넌트초기화 } static void Main() { Application.Run(new Form1()); } } // --- 2 // --- 4 // --- 3 // --- 1

1 Main() 메소드 응용프로그램의시작점 Application 클래스의 Run() 메소드를호출하여응용프로그램을실행. 2 생성자 폼에서사용하는각종컴포넌트와클래스의멤버초기화 3 InitializeComponent() 메소드 폼에있는각종컴포넌트들초기화 4 Dispose() 메소드 응용프로그램이종료될때실행 응용프로그램이사용한모든리소스를해제.

폼설계컴포넌트프로퍼티멤버이벤트처리기애플리케이션실행

[ 예제 7.1 DisplayStartDateApp.cs] 1) 폼설계 2) 프로퍼티 컨트롤 : (Name) 프로퍼티값 Form : Form1 Text DisplayStartDateApp Button : button1 Text Display 3) 멤버 public Form1() { //... startdatetime = DateTime.Now; } DateTime startdatetime; public DateTime GetStartDateTime() { return startdatetime; }

4) 이벤트처리기 컨트롤 : (Name) 이벤트메소드명 Button : button1 Click button1_ Click() private void button1_click(object sender, EventArgs e) { MessageBox.Show(GetStartDateTime().ToString()); } 실행방법 : 애플리케이션을실행한후, 폼에있는 "Display" 버튼을클릭한다. 실행결과 :

폼설계 폼에컨트롤을배치한모습표시. 폼에배치되는컨트롤의종류와배치된컨트롤의이름과위치를그림형태로표시. 노란색텍스트상자는 "ClassType : Name" 형식으로표시 컨트롤의종류 ( 클래스이름 ) 와이름 ( 객체이름 ) 을나타냄. 컨트롤의추가

컴포넌트목록 컨트롤 : (Name) 프로퍼티값 Timer : timer1 Images FLGSKOR.ICO 컴포넌트추가 컨트롤추가와유사

프로퍼티목록 컨트롤 : (Name) 프로퍼티 값 Form : Form1 Text DisplayStartDateApp Button : button1 Text Display 프로퍼티값변경 속성브라우저를이용.

멤버 컴포넌트와컨트롤을제외한클래스멤버에대한선언과초기화등을소스코드로작성하는곳. 멤버코드추가 생성자에초기화부분추가 public Form1(){ // Windows Form 디자이너지원에필요합니다. // InitializeComponent(); // TODO: InitializeComponent를호출한다음생성자코드를추가합니다. // startdatetime = DateTime.Now; } 멤버선언이나메소드등의소스코드추가 폼클래스내의적당한곳에추가.

이벤트처리기 통합환경에서생성하는처리기의이름 < 이벤트처리기를등록하려는객체의이름 >_< 이벤트이름 > 컨트롤 : (Name) 이벤트 메소드명 Button : button1 Click button1_ Click() private void button1_click(object sender, EventArgs e) { MessageBox.Show(GetStartDateTime().ToString()); } 매개변수 이벤트를발생시킨객체이벤트에관련된정보를가진객체 EventArgs 클래스형이나이의파생클래스형

이벤트처리기등록방법 1 이벤트처리기를등록하고자하는폼이나컨트롤을선택. 2 속성브라우저에서 " 이벤트 " 버튼을클릭. 3 목록에서처리기를등록하고자하는이벤트를더블클릭 4 소스코드편집창에서이벤트처리기의내용을입력

컴파일과실행 컴파일하는방법 메인메뉴를통하여 빌드 (B) 솔루션빌드 (B) 를선택 컴파일한후바로실행하는방법 디버그 (D) 시작 (S) 이나 디버그 (D) 디버깅하지않고시작 (G) 을선택 실행방법 : 애플리케이션을실행한후, 폼에있는 "Display" 버튼을클릭한다. 실행결과 :