260 likes | 552 Views
C# Programming. Chapter 1~3 Made by Min Won. 1장 목차. Chapter 01 - C# 소개 닷넷 프레임워크 윈도우 비스타와 닷넷 3.0 차세대 언어 C# C# 언어는 왜 만들어 졌나요? C# 장점 C# 작동원리 닷넷 프레임워크와 Visual Studio 설치하기. 닷넷 프레임워크. 가상머신 개념을 사용해 다양한 하드웨어 상세서 작동(현재는 윈도우 계열만 지원) 자바프레임워크는 자바 하나만 지원
E N D
C# Programming Chapter 1~3 Made by Min Won
1장 목차 • Chapter 01 - C# 소개 • 닷넷 프레임워크 • 윈도우 비스타와 닷넷 3.0 • 차세대 언어 C# • C# 언어는 왜 만들어 졌나요? • C# 장점 • C# 작동원리 • 닷넷 프레임워크와 Visual Studio설치하기
닷넷 프레임워크 • 가상머신 개념을 사용해 다양한 하드웨어 상세서 작동(현재는 윈도우 계열만 지원) • 자바프레임워크는 자바 하나만 지원 -> 닷넷 프레임워크는 20가지 이상의 다양한 언어를 CRL(Common Runtime Library)의 지원을 받아 통합 개발환경을 제공 • 자바를 기본 모델로 사용해 자바 개념 적용 -> JDBC…ADO.NET ASP.NET…JSP/서블릿 닷넷모바일…J2ME
윈도우 비스타와 닷넷 3.0(1) • 현재 닷넷 3.5버전까지 출시 • 닷넷 2.0까지는 변화가 큼 • 닷넷 3.0은 2.0에서 기능 추가 • 닷넷 3.0 -> 닷넷 2.0 + WCF, WPE, WF, WCS • WinFX : WCF, WPE, WF, WCS를 통칭하는 용어
윈도우 비스타와 닷넷 3.0(2) • WinFX : WCF, WPE, WF, WCS를 통칭하는 용어 • WCF(Windows Comunication Foundation) : 차세대 메시징 프레임워크 • WPE(Windows Presentation Foundation) : WinFX에서 지원하는 차세대 윈도우 UI 프레임워크 • WF(Windows Workflow Foundation) : XML웹 서비스와 닷넷 리모팅에 대한 차세대 프레임워크 • WCS(Windows CardSpace) : 차세대 인증 시스템
C# 언어는 왜 만들어 졌나요? • MS에서 J++을 개발 -> 법정소송으로 더 이상 개발을 못하게 됨 -> 자바 기술에 대응하기 위해 새로이 .NET을 발표 • 자바와 비슷하며 VB의 생산성과 C++의 성능을 결합
C#의 장점 • VB의 생산성과 C++의 성능을 동시에 제공하여 개발시간 단축 • 강력한 디버깅 기능(이전에 어려웠던 웹 관련 디버깅도 가능)
C# 작동원리 소스코드 (.csc) 실행 닷넷 프레임워크 JIT 컴파일러 컴파일러 EXE/DLL 등의 중간 코드 클래스 로더
닷넷 프레임워크와 Visual Studio설치하기 • 질문 : VS2005 를 설치하였는가? -> YES = 훌륭함 -> NO = 설치후 캡쳐떠 올리기(게시판) • 설치안함사람 :
2장 목차 • Chapter 02 –데이터와 연산자 • C# 식별자와 키워드 • 변수와 상수 • 변수 • 상수 • 리터럴 • 문장과 블록 • 닷넷 프레임워크에서 지원데는 데이터형 • System.Object 클래스와 System.ValueType • 연산자 • 형 변환 • 주석
C# 식별자와 키워드 • 식별자(Identifier)란? -> 클래스, 인터페이스, 변수, 메서드, 배열, 문자열 등을 구분할 때 사용되는 문자열 • 길이제한 없음 • 유니코드(Unicode) 문자 사용 : 다양한 국가의 언어 사용 가능해짐 • C# 키워드 : 미리 정의된 예약어 -> 식별자는 예약어의 이름을 피해야함(@통해 해결가능) -> 책 39쪽 중간 표 참조
변수와 상수 • 변수 : SKIP • 상수 • 문법 : const 변수타입 상수이름 = 초기값; • 예 : const int VALUE1 = 1; • 주의 : 반드시 선언과 동시에 초기화
리터럴(Literal) • What? 데이터형을 명확히 표현하기 위해 값 뒤에 붙이는 문자 • C#에서는 리터럴 미사용시 에러 발생 • 책 42쪽 아래 표 참고 • 리터럴 @사용 -> 키워드를 식별자로 사용가능(예:@int)
문장과 블록 • 지역변수 : 변수는 블록( {} ) 내에서만 유효
닷넷 프레임워크에서 지원되는 데이터형 • 문자형식 • 불린형식 • 정수형식 • 실수형식 • Decimal 형 : 크기 128bit, 소수점아래 28~29자리 => SKIP
System.Object 클래스와 System.ValueType (1) • Bool Equals() : 같은 객체인지 비교 -> 예) 변수1.Equals(변수2) • Int GetHashCode() : 객체의 해시코드 반환 -> 변수1을 가리키는 고유값(뒷장에서 자세히) -> 예) 변수1.GetHashCode() • Type GetType() : 객체의 형 정보 반환 -> 예) 변수1.GetType() • String ToString() : 객체의 값을 문자열로 반환 -> 예) 변수1.ToString()
System.Object 클래스와 System.ValueType (2) • 해시코드(HashCode)란? • 프로그램이 실행될 때 객첼르 식별하는 아이디로, 객체의 고유한 아이디 • 객체를 만들때 해시코드 값은 런타임에 의해 동적으로 부여되기 때문에 만일 같은 프로그램ㅇ르 다시 시작하게 되더라도 객체의 해시코드값은 변할 수 있음 • 사용자가 해당 객체가 유일한지 설정하는 고유한 키 값의 의미
연산자 • 산술연산자 • 관계연산자 • 논리연산자 • 논리연산자 vs 단축논리연산자 • 비트연산자 • 대입연산자 • 삼항연산자 • Is 비교연산자와 as 연산자 • 두 객체가 동일한지 비교 • 예) 변수1 is char //변수1은 char형과 호환되는가? • As는 호환되면 캐스팅까지 해줌 • 예) string obj = data as string • 연산자우선순위
형 변환 • Conver클래스 • 기본 자료형 간에 형 변환을 쉽게 처리 • 예) float 변수1 = 10.5f System.Convert.ToInt32(변수1) • Checked 및 unchecked 연산자 • 정수 계열의 산술 연산 및 변환에 대한 오버플로우 검사 • 예) Int 변수1 = 999 short 변수2 = Checked((short)변수1) • Unchecked는 컴파일시 사용하며 checked 연산자 무시 • 예) csc /unchecked Sourcefile.cs
주석 • 일반주석 : SKIP • XML 주석 • 컴파일시 csc abc.cs /doc:abc.xml
목차 • Chapter 03 –제어문과 배열 • 제어문 • 선택문 • 반복문 • 분기문 • 배열
제어문 • SKIP
반복문 • Foreach문 • 배열 또는 컬렉션 개체의 개수만큼 반복실행 • 문법 int[] count = new int[] {0, 1, 2, 3 ,4, 5}; foreach(int I in count) { Console.WriteLine(I); }
분기문 • SKIP
배열 • 1차 배열 • 예: int [] data = new int[] {1,2,3,4,5}; • System.Array 클래스 이용 • 책 101~102쪽 참고 • 2차 배열 • 문법: int [,] 배열명 = new int[5,5]; //5x5
실습 • 실습(책 106 참고) • 1~1000까지 숫자 중에 3의 배수이면서 7의 배수인 숫자의 총합은 얼마일까요? • 1~1000사이에 완전수는 어떤 것들이 있을까요?(완전수:자기 자신을 뺀 약수의 합이 자기 자신이 되는 수로 6이 이에 해당) • 10진수 세 개를 args[] 값으로 입력받아 2진수로 출력하는 프로그램을 작성하세요