260 likes | 511 Vues
1 장 비주얼 C# 과 만남. 설치하기 전에. 비주얼 스튜디오 닷넷 닷넷 응용 프로그램을 개발할 수 있는 통합 환경 간단히 줄여서 VS.NET 이라고 부른다 VS.NET 은 윈도우 2000 계열 , XP 서버 버전에서 실행 윈도우 2000 계열 윈도우즈 XP 프로그램 설치 순서 윈도우 2000 / XP IIS 설치 SQL 서버 2000 ( 선택 사항 ) 윈도우 구성 요소 설치 ( 제공된 CD) VS.NET 설치 ( 제공된 CD). 설치하기 전에.
E N D
설치하기 전에... • 비주얼 스튜디오 닷넷 • 닷넷 응용 프로그램을 개발할 수 있는 통합 환경 • 간단히 줄여서 VS.NET이라고 부른다 • VS.NET은 윈도우 2000 계열, XP 서버 버전에서 실행 • 윈도우 2000 계열 • 윈도우즈 XP • 프로그램 설치 순서 • 윈도우 2000 / XP • IIS 설치 • SQL 서버 2000 (선택 사항) • 윈도우 구성 요소 설치 (제공된 CD) • VS.NET 설치 (제공된 CD)
설치하기 전에... • IIS 설정 • IIS를 이용한 웹 관련 기능을 테스트하려면 윈도우 2000 계열을 사용 • 설치할 때 IIS 항목을 선택하고 [FrontPage Server Extension]이 선택되어 있는지 확인 • 윈도우 2000 프로페셔널인 경우, 설치할 때 IIS 항목을 선택 • FAT32 파일 시스템인 경우, 설치 과정에서 [Server Extension]이 구성되지 않았다는 메시지가 보여질 수 있다. • 윈도우 2000 서비스 팩 2.0 설치 • 윈도우 서비스 팩 2.0을 설치해야 gkau, 서비스 팩은 윈도우 구성 요소 설치 과정에서 자동으로 설치 IIS 설치 • 윈도우 서비스 팩은 윈도우 OS 언어와 일치하는 경우에만 설치
C# 프로그램 시작 • 첫 번째 C# 프로그램 • 간단한 콘솔 프로그램으로 C# 프로그램을 시작 • 주석 처리 • Main 메서드 • System.Console 객체 • WriteLine 메서드 • <따라하기 - Hello 예제> • “안녕하세요, C# 프로그래밍”이라는 문자열을 출력하는 예제로 메뉴에서 [파일]-[새로 만들기]-[프로젝트]를 선택하면 프로젝트 만들기 대화상자 대화상자에서 프로젝트 이름과 작업할 폴더를 지정하고 새로운 프로젝트를 생성
C# 프로그램 시작 • <따라하기 - Hello 예제> • 대화상자에서 프로젝트 이름과 작업할 폴더를 지정하고 새로운 프로젝트를 생성
C# 프로그램 시작 • <따라하기 - Hello 예제> • 프로젝트 만들기 대화상자에서 지정했던 프로젝트 이름이 네임스페이스로 정의되고 네임스페이스 안에 클래스가 생성
C# 프로그램 시작 • <따라하기 - Hello 예제> • 클래스 이름을 Class1에서 Hello로 수정하고, 코드에서 TODO 주석을 없애고 다음 코드를 입력 생성
C# 프로그램 시작 • <따라하기 - Hello 예제> • 코드를 입력하는 도중 Console을 입력하고 ‘.‘을 입력하는 순간 선택 가능한 멤버 리스트가 나타난다.
C# 프로그램 시작 • <따라하기 - Hello 예제> • [빌드]-[빌드] 메뉴를 선택하면 코드를 컴파일 • Ctrl+F5 키를 눌러 프로그램을 실행하면 도스 창이 뜨면서 다음과 같이 실행 결과가 나타난다.
C# 프로그램 시작 • 코드 설명 • 주석이란 프로그램과 소스 코드에 대해 간단히 설명을 적어놓을 때 이용 • C#에서 모든 프로그램의 실행은 Main 메서드에서 시작되며, Main 메서드는 코드 실행 시작 지점을 나타내는 메서드 . • Console 객체는 콘솔에 출력하거나 키보드로부터 읽어올 때 쓰는 객체이며, System 네임스페이스에 정의 Console.WriteLine( "Hello C#" );
클래스 • 클래스 • 클래스(class)란 하나의 객체를 구현하는 단위이며, 객체 프로그래밍에서 객체를 코드로 구현할 때 클래스로 표현 • C#에서 모든 코드는 반드시 클래스 안에 있어야 하기 때문에 클래스 안에 Main 메서드를 정의 • 메서드 • C#에서 메서드(method)란 함수를 가리키는 의미 • C/C++ 언어에서는 이것을 함수라고 부르고 비주얼 베이직에서는 메서드라고 부른다. • 메서드는 어떤 기능을 하는 코드를 하나로 묶어놓은 것 • 메서드가 받아들이는 값을 인자 값이라고 하고, 실행 후 결과 값을 알려주는 것을 “값을 리턴한다“라고 표현 class Hello { }
클래스 • 멤버 • 멤버(Member)란 클래스 내에 정의한 모든 것을 의미 • 클래스는 필드(field), 메서드(method), 프로퍼티(property), 이벤트(event) 등등 다양한 멤버를 가질 수 있다 . • 클래스 멤버는 다시 인스턴스(instance) 멤버와 정적(static) 멤버로 분리 • 인스턴스 생성 과정 없이 멤버를 쓰려면 다음과 같이 정적(static) 메서드로 정의 public int Method1( int n ) { return 0; } public static void Main() {}
네임스페이스 • 네임스페이스 정의 • 네임스페이스는 클래스를 분류해서 정리하는 방식 • 클래스를 계층적으로 정리하고 이름을 정의함으로써 다른 사람이 만든 클래스와 충돌을 줄임 • 네임스페이스를 이용하면 클래스 이름을 간단 명료하게 정의 • 다음은 FirstApp 네임스페이스 안에 Hello 클래스를 정의한 예
네임스페이스 • 단계별 네임스페이스 • 네임스페이스 안에 또 다른 네임스페이스를 하나 더 정의 • 네임스페이스를 다음과 같이 간단하게 줄여서 정의 • C#에서 제공되는 클래스 라이브러리는 여러 네임스페이스로 분류되어 제공 namespace TestProgram { namespace FirstApp { } } namespace TestProgram.FirstApp { }
네임스페이스 • using 문 • using 문은 네임스페이스 이름을 쓰지 않고서도 바로 클래스를 쓸 수 있도록 도와주는 단축키 • 다음과 같이 using 문을 선언해주면 네임스페이스를 명시하지 않고 클래스를 쓸 수 있다. • Console 객체는 System 네임스페이스에 정의된 객체 • using 문을 쓰지 않고 직접 네임스페이스 이름을 명시해서 쓴 예 TestProgram.FirstApp.Hello using TestProgram.FirstApp; // System 네임스페이스를 써준 예 System.Console.WriteLine( "Hello C#" );
콘솔 출력 • WriteLine 메서드 • 예제를 컴파일하고 실행하며, 실행 결과는 WriteLine 메서드를 이용해서 화면에 출력 • 윈도우 프로그래밍을 배우기 전까지 콘솔 프로그램에서 소스를 입력하고 실행 • WriteLine 메서드를 이용한 몇 가지 예 • "Hello"처럼 바로 문자열을 출력할 수도 있고, 인자를 주어서 출력할 수도 있다 • 인자를 주는 경우, 출력할 내용이 들어갈 위치가 필요
콘솔 출력 • WriteLine 메서드 • "Hello" 문자열과 함께 {0},{1}과 같이 넣어주면 들어온 순서대로 값을 화면에 나타남 • {0}은 첫 번째 인자 값이 들어갈 위치이고 {1}은 두 번째 인자 값이 들어갈 위치 • C#에서 쓰이는 모든 데이터형을 다 출력할 수 있으며, 마찬가지로 출력할 위치에 {0},{1}.{2},..를 넣어 준다. Console.WriteLine( "string : {0}", "C#" ); Console.WriteLine( "int : {0}", 123 ); Console.WriteLine( "double : {0}", 123.456 );
콘솔 출력 • Write 메서드 • Write 메서드는 결과만 출력하기 때문에 다음과 같이 Write 메서드를 써주면 같은 줄에 출력할 수 있다 • 이스케이프 문자 출력 • C# 언어의 기본 문법은 대부분 C/C++ 언어 문법을 그대로 사용 • 문자열 중간에 ‘\n' 문자를 넣으면 다음 줄로 이동해서 출력 Console.Write( “Hello” ); Console.Write( “C# Program” ); Console.Write( “Hello \n 여기서부터 다음 줄 \n 그 다음 줄”);
콘솔 출력 • 출력 포맷 지정 • 출력할 값에 대해 출력 포맷을 지정 할 수 있다
콘솔 출력 • 출력 포맷 지정 • 실수 값을 여러 포맷으로 출력한 예 double f = 1234.5678; Console.WriteLine( "{0:F}", f );// "1234.56" Console.WriteLine( "{0:F4}", f );// "1234.5678" Console.WriteLine( "{0,20:F4}", f );// " 1234.5678" Console.WriteLine( "{0,-20:F4}", f ); // "1234.5678 "
Main 메서드 • 리턴형 • 예제에서 사용한 Main 메서드는 리턴형이 없는 메서드로 이런 경우, 리턴형을 void 형으로 지정 • 정수 값을 리턴한다면 다음과 같이 수정 • void 형 리턴형으로 지정하고 메서드가 받아들이는 인자를 지정하지 않은 경우 public static int Main() { return 0; } public static void Main() { }
Main 메서드 • 리턴형 • void 리턴형을 가진 메서드라 할지라도 중간에 메서드를 종료하려고 할 때 다음과 같이 빈 return 문을 쓸 수 있다 • 실행 인자 • Main 메서드에 인자를 받아들이도록 바꾼 것 • 이 인자는 string 형 배열이며 도스 창에서 입력한 명령 인자를 받아들이기 위한 것 • Main 메서드에서는 arg1, arg2, arg3 인자를 문자열로 받아서 처리 • 넘겨진 인자들은 string 형 배열로 구성되어 Main 메서드에 넘겨짐 public static void Main() { .... return; } app.exe arg1 arg2 arg3
Main 메서드 • 실행 인자 • 실행할 때 입력된 명령 인자를 가져와서 보여준 예제 • 배열이 가지고 있는 문자열 개수를 알아내려면 Length를 이용 • 이 값은 곧 입력받은 명령 인자 개수를 나타낸다 using System; class Class1 { public static void Main( string[] args ) { // 1개 이상의 인자를 입력해야 결과가 출력됨 if ( args.Length > 1 ) { Console.WriteLine( "[0] : {0}", args[0] ); Console.WriteLine( "[1] : {0}", args[1] ); } else Console.WriteLine( "[usage]: arglist /option1 /option2" ); } }
Main 메서드 • 실행 인자 • 실행할 때 다음과 같이 실행 파일 뒤에 인자를 임의로 입력 • 공백을 이용해서 각 인자를 구분하기 때문에 인자와 인자 사이에 공백 문자를 넣어주면 다른 인자로 인식 • 일반적으로 프로그램에 옵션을 주어 실행을 다르게 할 때 사용
Main 메서드 • VS.NET에서 인자 값 지정 • VS.NET에서 프로그램을 실행할 때, 인자를 주어야 되는 경우가 있는데 디버그를 할 때 인자를 준다. • 솔루션 탐색기에서 프로젝트를 선택하고 오른쪽 버튼을 누르면 [속성] 메뉴가 나타 난다 • 메뉴를 선택하면 다음 대화상자가 나타 난다
마무리 • 간단한 C# 예제를 통해서 C# 프로그램을 작성 • 클래스(class) - C# 언어에서 객체를 구현하는 단위 • 메서드(method) - C# 언어에서 메서드(method)란 함수를 가리키는 말 • 메서드는 다음과 같이 클래스 이름 다음에 ‘.’을 붙여서 나타냄 • System.Console 객체 - Console 객체는 화면에 출력할 때 쓰는 객체 • WriteLine 메서드는 화면에 문자열을 출력하고 다음 줄로 이동 • {0}, {1} 는 인자가 들어갈 위치 Hello.Method(); Console.WriteLine( "{0} {1} {2}", "Hello", "C#", “Programming” );