p.217

chap.6 함수형 멤버

1.메서드

 1.1 메서드 정의

 1.2 메서드 오버로딩

2. 프로퍼티

 2.1 프로퍼티

 2.2 프로퍼티의 장점

 2.3 인덱서(Indexer)

3.연산자

 3.1 연산자 오버로딩

 3.2 연산자 오버로딩의 예

 3.3 캐스트 연산자

 3.4 오버로딩의 애매함

 

인덱서: 객체를 마치 배열인 것처럼 사용할 수 있도록 함

 

<형식>

지정차 타입 thin[인수]

{

get { return 값; }

set { 값 변경; }

}

 

프로퍼티와 같은 문법이지만, 프로퍼티를 여러번 쓰는 것보다 인덱스를 사용하는것이 빠르므로 반복적인 처리에서 인덱스 사용이 더 유리하다.

한 클래스 내에는 하나의 인덱스만 사용가능: 이름이 this로 주어져 있기 때문에

 


 

chap.6 함수형 멤버

1.메서드

 1.1 메서드 정의

 1.2 메서드 오버로딩

2. 프로퍼티

 2.1 프로퍼티

 2.2 프로퍼티의 장점

 2.3 인덱서(Indexer)

3.연산자

 3.1 연산자 오버로딩

 3.2 연산자 오버로딩의 예

 3.3 캐스트 연산자

 3.4 오버로딩의 애매함

 

이렇게 실행되는 것이 연산자 오버로딩이라는 것의 개념이해.

p.224 '함수형 멤버'->함수에서 파생되어 나온 것.

'PROGRAMMING > C#.NET' 카테고리의 다른 글

chap.7 클래스 상속 2. 재정의  (0) 2011.02.11
chap.7 클래스 상속 1. 상속  (0) 2011.02.11
chap.2 C#언어 3. 네임스페이스  (0) 2011.02.10
chap.2 C#언어 1. C#언어 ~ 2. 닷넷 프로젝트  (0) 2011.02.10
chap.1 닷넷  (0) 2011.02.10
Posted by 마마필로 :

1. C#언어

1.1 닷넷의 개발 언어  1.2 C#의 특징  1.3 구성 요소

 

2. 닷넷 프로젝트

2.1 콘솔 예제  2.2 윈도우즈 폼 예제  2.3 웹 폼 예제  2.4 그 외의 프로젝트

 

3. 네임스페이스

3.1 네임스페이스의 정의  3.2 using  3.3 닷넷의 네임스페이스

 

4. 기본적인 입출력

4.1 출력  4.2 입력  4.3 콘솔의 여러 가지 기능

 

5. 도움말

5.1 도움말 얻기  5.2 Main 함수  5.3 명령 행 컴파일러

 


1. 네임스페이스

명칭이 충돌하는 것을 방지하기 위해 명칭들을 저장해 놓는 장소. 명칭들이 저장되는 범위를 격리시킴.

같은 범위 내에서 두 개의 다른 명칭이 중복될 수 없다.

모든 명칭은 항상 특정한 네임스페이스 안에 포함되어야 함. 만약 네임스페이스 없이 외부에 명칭을 선언하면 기본 네임스페이스(=프로젝트 이름)에 소속됨.

네임스페이스에는 클래스, 구조체, 열거형, 인터페이스 등의 타입들이 포함됨.

 

<네임스페이스의 사용>

예약어 namaspace 다음에 네임스페이스 이름과 블록을 구성하고 이 블록 안에 명칭 정의

ex.

namaspace A

{

class MyClass { ...}

}

 

namespace B

{

class MyClass { ... }

}

→ MyClass로 명칭이 같지만 각각 namespace A, B(다른 네임스페이스)에 속해 있으므로 모호하지 않음.

 

<네이스페이스에 속한 명칭 참조>

. 기호 사용 (ex. A.MyClass, B.MyClass)

 

<네임스페이스끼리 중첩 가능-명칭들을 계층적으로 조직화>

namespace A

{

namespace B

{

class MyClass { ... }

}

}

 

namespace A.B

{

class MyClass { ... }

}

→ 네임스페이스 A안에 또 다른 네임스페이스 B가 있고 B안에 MyClass가 정의되어 있음(중첩된 네임스페이스를 한꺼번에 정의)

 

③ 중첩된 네임스페이스 안쪽의 명칭 참조 → . 기호 사용

A.B.MyClass → A에 속한 B에 속한 MyClass

 

2. using

1)긴 명칭 참조문을 짧게 쓸 수 있도록 함.

using 다음에 참조할 네임스페이스명을 적으면 컴파일러가 using 선언된 네임스페이스를 항상 참조.

 

using 사용 전)

class FirstCon

{

public static void Main()

{

System.Console.WriteLine("C Shartp");

}

}

 

using 사용 후)

using System;

class FirstCon

{

public static void Main()

{

Console.WriteLine("C Sharp");

}

}

--> 첫 줄에 using Sustem; 선언이 있으므로 이후부터 등장하는 모든 명칭에 대해 이 네임스페이스를 검색 함.

Console 클래스는 System 네임스페이스에 정의되어 있으므로 원래는 System.Console라고 써야 하지만 System을 using 선언했으므로

이후부터 Console이라고만 적으면 됨.

 

2) 긴 네임스페이스에 짧은 별명을 부여

using 별명 = 네임스페이스;

 

3. 닷넷의 네임스페이스

-System: 루트 네임스페이스, 닷넷 응용 프로그램이 반드시 참조해야 하는 필수 네임스페이스

-using 선언은 꼭 필요한 것들만 선언하도록 한다->컴파일러가 명칭을 찾아야 할 범위가 넓어지므로 컴파일 시간이 오래 걸리고 명칭 충돌 확률이 높아짐

 

4. 기본적인 입출력

입출력 관련 기능 -> System 네임스페이스의 Console 클래스가 제공

1) 출력

-소스 선두에 using System; 선언

-WriteLine : 기본 출력 메서드

 

2) 입력

-ReadLine : 기본 입력 메서드, 오버로딩 되어 있지 않음

└형식 : public static string ReadLine ()

-ReadKey : 문자나 정수가 아닌 키 자체(커서 이동키, 펑션 키, Ins, Del 등 기능키 포함. 단, 조합키(Ctrl, Alt, Shift)는 제외)를 입력받을 때

└형식 : public static ConsoleKeyInfo ReadKey([bool intercept]);

'PROGRAMMING > C#.NET' 카테고리의 다른 글

chap.7 클래스 상속 1. 상속  (0) 2011.02.11
chap.6 함수형 멤버  (0) 2011.02.11
chap.2 C#언어 1. C#언어 ~ 2. 닷넷 프로젝트  (0) 2011.02.10
chap.1 닷넷  (0) 2011.02.10
[0208과제] C# Data Types  (0) 2011.02.09
Posted by 마마필로 :

1. C#언어

1.1 닷넷의 개발 언어

1.2 C#의 특징

1.3 구성 요소

 

2. 닷넷 프로젝트

2.1 콘솔 예제

2.2 윈도우즈 폼 예제

2.3 웹 폼 예제

2.4 그 외의 프로젝트

 

3. 네임스페이스

3.1 네임스페이스의 정의

3.2 using

3.3 닷넷의 네임스페이스

 

4. 기본적인 입출력

4.1 출력

4.2 입력

4.3 콘솔의 여러 가지 기능

 

5. 도움말

5.1 도움말 얻기

5.2 Main 함수

5.3 명령 행 컴파일러




1. C#의 구성 요소

1) 키워드

2) 명칭(Identifier): 변수나 상수, 함수, 타입 등을 구분하기 위해 사용자가 이름을 직접 붙이는 것.

  같은 범위 내에서 두 개의 다른 명칭이 중복될 수 없다.

3) 연산자

4) 구두점

5) 상수

6) 주석

7)공백

 

2. 닷넷 프로젝트

1) 콘솔 예제

<비주얼 스튜디오 Program.cs의 기본 골격 코드>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FirstCon
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}

 

* 기본 골격 코드의 Main 안쪽에 원하는 코드 작성

* C# → 엄격한 대소문자 구분

* main(X) → Main(O)

* Main: 프로그램의 진입점 역할. Main에서부터 실행 시작.

간단한 콘솔 예제

 

2) 윈도우즈 폼과 웹 폼 이외에 비쥬얼 스튜디오로 제작 가능한 가능한 프로젝트

Win32 프로젝트, MFC 프로젝트, 모바일 프로젝트, WPF와 실버라이트, 데이터베이스 프로젝트, 오피스 응용 프로그램, 배포 프로젝트 등

 → 통합 개발 환경

'PROGRAMMING > C#.NET' 카테고리의 다른 글

chap.6 함수형 멤버  (0) 2011.02.11
chap.2 C#언어 3. 네임스페이스  (0) 2011.02.10
chap.1 닷넷  (0) 2011.02.10
[0208과제] C# Data Types  (0) 2011.02.09
[0208과제] .NET Framework 개념  (0) 2011.02.09
Posted by 마마필로 :

chap.1 닷넷

2011. 2. 10. 00:22 from PROGRAMMING/C#.NET

1. 닷넷 소개

1.1 등장 배경

1.2 새로운 개발 환경

1.3 닷넷의 역사

 

2. 닷넷의 구조

2.1 플랫폼 독립

2.2 닷넷의 구성 요소

2.3 닷넷의 장점

2.4 닷넷의 허와 실

 

3. 개발 툴 설치

3.1 비주얼 스튜디오

3.2 도움말 및 옵션

3.3 선수 과목들

 


1. 닷넷

2000년 마이크로소프트사에서 발표한 새로운 개발환경. 운영체제 위에서 응용 프로그램이 돌아가는 실행환경(=플랫폼)

 

2. 닷넷의 구성 요소

-플랫폼 독립성(한번 작성한 프로그램을 운영체제에 상관없이 실행 가능)과 언어 독립성(닷넷 프로그램을 개발하는 언어에 제한 없음)을 확보하기 위한 장치들

 

1) CLR(Common Language Runtime)

닷넷 실행 엔진. 닷넷 프로그램 실행을 위한 모든 서비스를 제공하는 실행 주체. 닷넷의 핵심 커널.

 

*IL(Intermediate Language): 원시 언어 프로그램을 컴파일러로 번역하여 목적 언어 프로그램을 만들 때, 그 중간 단계로 거치는 언어.

어떤 언어로 만든 프로그램이든 IL(Intermediate Language)을 JIT(Just In Time)로 컴파일 후 CLR을 거쳐 운영체제와 통신.

특정 플랫폼에 종속되지 않으며, 중간 코드일 뿐이므로 직접 실행 불가능(CPU가 IL을 직접 해석할 수 없음)

→실행 단계를 한번 더 거쳐야 하므로 실행 속도 떨어짐

언어통합효과-어떤  언어를 사용하더라도 규칙에 맞게 IL만 생성해 낼 수 있다면 닷넷용 프로그램 작성에 사용 가능.

 

*JIT(Just In Time): IL을 기계어로 컴파일하는 컴파일러. 플랫폼별로 컴파일러가 따로 제공되므로 JIT 컴파일러만 바꾸면 어떤 플랫폼에서나 실행 가능

 

*컴파일러(Compilers): 고급 언어로 쓰여진 프로그램을 동일한 내용으로 갖는 기계어 프로그램으로 번역하는 시스템 프로그램.

 

2) CTS(Common Type System)

닷넷 지원 언어간 교차 프로그래밍을 위한 플랫폼 차원의 공통 타입 체계. 공동으로 사용하는 타입에 대한 약속.

 

3) CLS(Common Language Specification)

닷넷용 언어가 되기 위한 최소한의 규정. 언어간 편리한 상호 운용을 위해 닷넷에 적합한 언어가 되기 위한 최소한의 사양.

ex.

-전역 함수나 변수는 정의 할 수 없다.

-부호 없는 정수형은 인정하지 않는다.

-명칭은 대소문자를 구분하지 않는다.

-포인터를 사용할 수 없다.

-연산자 오버로딩을 지원하지 않는다.

 

4) BCL(Basic Class Library)

여러 가지 복잡한 기능을 제공하는 방대한 기본 클래스 라이브러리. 마이크로소프트가 미리 작성하여 제공하는 잘 정리된 클래스들의 거대한 집합.

<BCL에 포함된 클래스의 목록과 기능>

-기본 타입에 대한 정보 제공

-배열, 연결 리스트, 큐 등의 컬렉션 클래스

-그래픽 라이브러리(GDI+)

-스레드와 동기화 클래스

-각종 컨트롤

-파일 입출력

-네트워크와 인터넷 프로그래밍

-데이터베이스와 액세스

'PROGRAMMING > C#.NET' 카테고리의 다른 글

chap.2 C#언어 3. 네임스페이스  (0) 2011.02.10
chap.2 C#언어 1. C#언어 ~ 2. 닷넷 프로젝트  (0) 2011.02.10
[0208과제] C# Data Types  (0) 2011.02.09
[0208과제] .NET Framework 개념  (0) 2011.02.09
[0208과제] C# 개념  (0) 2011.02.09
Posted by 마마필로 :

C#의 Data Types는 다음의 두 가지로 나눌 수 있다.

1. built-in data type(int or char)과 user-defined data type(class or interface)

2. Value Types(값 형식, 값을 저장)과 Reference Types(참조 형식, 실제 데이터를 참조하여 저장)

 2.1 Value Types

 value types은 두 개의 주요 카테고리로 구성: Structs(구조체), Enumerations(열거형)

 

출처

http://msdn.microsoft.com/en-us/library/s1ax56ch(v=vs.80).aspx

http://level.tistory.com/25

'PROGRAMMING > C#.NET' 카테고리의 다른 글

chap.2 C#언어 3. 네임스페이스  (0) 2011.02.10
chap.2 C#언어 1. C#언어 ~ 2. 닷넷 프로젝트  (0) 2011.02.10
chap.1 닷넷  (0) 2011.02.10
[0208과제] .NET Framework 개념  (0) 2011.02.09
[0208과제] C# 개념  (0) 2011.02.09
Posted by 마마필로 :

1. 개념

차세대 응용 프로그램 및 SML Web service를 만들고 실행하는 것을 지원하는 필수적인 Windows 구성요소.

C#과 관련하여, C#언어로 프로그래밍된 프로그램의 실행을 지원하는 구성요소.

 

2. 주요구성요소

 2.1 공용 언어 런타임

 2.2 클래스 라이브러리

 

출처

http://msdn.microsoft.com/ko-kr/library/zw4w595w(v=VS.80).aspx



'PROGRAMMING > C#.NET' 카테고리의 다른 글

chap.2 C#언어 3. 네임스페이스  (0) 2011.02.10
chap.2 C#언어 1. C#언어 ~ 2. 닷넷 프로젝트  (0) 2011.02.10
chap.1 닷넷  (0) 2011.02.10
[0208과제] C# Data Types  (0) 2011.02.09
[0208과제] C# 개념  (0) 2011.02.09
Posted by 마마필로 :

1. C#이란?

.NET Framework에서 실행되는 다양한 응용 프로그램을 만들기 위핸 디자인된 프로그래밍 언어

 

2. C#의 특징

 2.1 객체지향

 객체지향이란 프로그래밍의 기능을 그룹화하고 이것을 조합하여 프로그램을 작성해 가는 개념

 2.2 .NET Framework

 이 C#으로 프로그래밍한 프로그램 .NET Framework로 실행환경을 조성해줌

 2.3 안전한 형, 메모리관리

  데이터 형 관리가 확실하므로 변수에 값을 잘못 대입하는 일을 막을 수 있음

 

3. C#언어의 이용

 3.1 콘솔 애플리케이션

 3.2 windows 애플리케이션

 3.3 웹 애플리케이션

 

출처

http://bment.net/113

http://msdn.microsoft.com/ko-kr/library/67ef8sbd.aspx

 

*밑줄은 이해안되는 말들*


'PROGRAMMING > C#.NET' 카테고리의 다른 글

chap.2 C#언어 3. 네임스페이스  (0) 2011.02.10
chap.2 C#언어 1. C#언어 ~ 2. 닷넷 프로젝트  (0) 2011.02.10
chap.1 닷넷  (0) 2011.02.10
[0208과제] C# Data Types  (0) 2011.02.09
[0208과제] .NET Framework 개념  (0) 2011.02.09
Posted by 마마필로 :