기타 강좌

1. 용어

 

namespace - 직역하면 이름 공간이라는 말이 되죠. 이 네임 스페이스 라는 것은 클래스나 구조체나 딜리게이트 등을 담는 아주 큰 바구니라고 생각하면 되고 C# 프로그램의 가장 기초적인 부분입니다.

class - 클래스라고 한다. 이는 "오브젝트"라고 불리기도 하고 이는 같은 기능군을 담는 주머니라고 생각하면 된답니다.

method - 다른 언어에서 함수나 변수나 구분해서 불렀지만 C#에서는 메서드라는 공통된 명칭을 사용합니다. 구분해서 부르는 프로그래머도 있으니 주의하길 바랍니다.

 

1.png

 

2. 클래스

클래스안에 클래스를 짜놓을 수 있고, 클래스안에 여러 함수를 구현할 수 도 있고 포용력이 정말 대단합니다. 예를들어,

 

2.png

 

이런식의 코딩도 가능합니다만, 이렇게 코딩하는 사람은 참 드뭅니다.

3. 딜리게이트

3.png

이런식으로 사용하며 "함수를 대리실행 해 주는 변수"라고 생각하시면 됩니다.

C/C++식 용어로는 "콜백"이라고 부릅니다. 

 

4. 접근 수준.

접근 수준은 네가지 형태가 있습니다.

 

 

private

protected

internal

public

네임스페이스

X

X

X

X

딜리게이트

O

X

X

O

클래스

O

X

O

O

 

private/protected는 외부에서 그 메서드에 접근할 수 없다는 표현입니다. private는 상속받은 클래스에서도 접근이 불가능하고, protected의 경우는 접근이 가능하지요.

 

internal은 외부 접근이 가능한데, 같은 네임스페이스끼리만 또는 프로젝트안에서 정의된 메서드에서만 접근이 가능하다는 표시입니다.

public은 무조건적으로 외부 접근이 가능합니다.

 

5. static/const/readonly/virtual/partial/abstract

static

const

readonly

virtual/abstract

partial

정적 메서드임을 선언하는 선언자 입니다.

클래스를 인스턴싱 하지 않아야 사용할 수 있습니다.

이것은 상수 변수를 선언하는 선언자입니다.

readonly와 병행해서 쓸 수 없습니다.

읽기 전용 메서드를 만드는 선언자입니다.

하지만, 메서드중에서 함수 선언과 병행할 수 없습니다.

virtual

가상 함수 를 선언하는 선언자입니다. 본문을 선언해야 합니다.

 

abstract

추상 클래스나 추상함수를 선언하는 선언자입니다. 본문을 선언하면 안됩니다.

분리구현된 클래스임을 선언합니다.

클래스 이외에 사용될 수 없으며, 클래스 정의를 여러 파일로 나눠서 분산구현할 때 사용합니다.

 

6. 코드의 유효 범위.

모든 네임스페이스, 클래스, 함수, 속성 필드 정의는 {로 시작해서 }로 끝나야 하며, 네임스페이스나 클래스, 함수의 경우 맨 뒤에 ;가 등장해서는 안된다.

 

7. 속성필드와 이벤트

 

4.png

 

이렇게 됩니다.

 

속성 필드의 경우엔 그냥 변수를 넣고 빼는것처럼 쓰면 됩니다만 변수와의 차이점은,


ttP aa  = new ttP();

string Test = aa.PropertyTest;  --> 이 경우 PropertyTest 속에 정의된 "get" 이라는 코드 블럭이 실행되고 그 코드 블럭이 반환하는 값을 Test에다가 넣어 주게 됩니다.

aa.PropertyTest = "실험2"; -> 이 경우  PropertyTest 속에 정의된 "set" 이라는 코드 블럭이 실행되죠.

 

이벤트 필드의 경우엔

 

eventTest += new Example_Delegate(ttP_eventTest);

 

이런식으로 이벤트를 등록하거나

 

eventTest -= new Example_Delegate(ttP_eventTest);

 

이런식으로 이벤트를 해제하여 이벤트의 목적 함수를 정해둡니다. 그러면 클래스 내부에서

 

eventTest();를 호출해 주면 등록된 목적 함수들이 실행됩니다.

 

 

음, 정말 열심히 썻는데 얼마 안되네요...

이 정도면 충분합니다. 필요하면 그때 그때 설명하겟습니다.

그럼 다음 강부터는 트릭을 소개해 드리겟습니다 ^^

- C# 문법 끝

 

Visual C# Express Edition 2010 : http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express

(여기서 언어를 "한국어" 로 맞추고 받아야 합니다. 그리고 30일 뒤에 MS사 홈페이지에 가입하면 제품키 무료로 발급해 주니 30일 시험판이라고 생각하지 마시구요 ^^ 제품키 입력하면 날자제한 풀리니 안심하시길 ㅋ)

(무료 사용 법위는 개인, 학교, 개인 사업체, 소규모 연구소 정도로 알고 있으니 안심하시고 사용하세요. 무료인 만큼 유료버젼보다 기능이 딸린답니다 ^^ 뭐 어둠의 루트를 통해서 Professional이나 Ultimate를 받으셔도 되구요 ^^ 근데 어둠의 루트는 비추...)

 

XNA Game Framework 4 : http://create.msdn.com/ko-KR/resources/downloads

(여기서 우측에 Download XNA Game Studio 4.0 라고 있습니다 그리고 그 아래에 DirectX SDK도 설치해 주세요.)

 

설치 순서는 비주얼 C# -> XNA 4.0 입니다 ^^

 

제 강좌 보고 게임 만드셔서 대박(?) 터지시면 소주 한잔 사시는겁니다 !! 꼭요!ㅋ

 


Comment '1'
  • profile
    하늘바라KSND 2012.08.03 21:56
    오옹

    XNA라면 아방스에선 마니아님의 온라인이나 현성이님의 포르라피아가 생각나는 군요. 공통점이라면 둘 다 온라인?

    전... 언어는 패스!
    것보다 컴을 만질 여건도 안되지만요.ㅋㅋ

List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 886
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 757
기타 응용..에 관한 간단한 고찰.(??) 개촙포에버 2011.10.13 1770
기타 이런 옷은.. 처음이야 ! 패션 이미지들 3 file 꼴뚜기무침 2010.11.25 2551
기타 인스톨 팩토리 사용법~ 5 file Skybound 2009.05.11 3773
기타 인터넷에 파일 올리고 링크걸기. [게임배포하기] 아방스 2007.11.12 2624
기타 자료업로드실 이용 방법 1 아방스 2007.11.12 2079
기타 자료업로드실 이용방법 아방스 2008.02.25 2047
C언어 정체불명 강의노트 개발툴의 설치 2 정체불명 2009.05.16 2246
C언어 정체불명 입문자를 위한 요약노트 01 12 정체불명 2009.05.16 2010
C언어 정체불명의 프로그래밍 입문 2 정체불명 2012.01.18 1262
C언어 정체불명의 프로그래밍 입문 2 1 file 정체불명 2012.01.18 1290
C언어 정체불명의 프로그래밍 입문 main 함수작성 3 file 정체불명 2012.01.18 1721
C언어 정체불명의 프로그래밍 입문 중간체크 file 정체불명 2012.01.18 1611
C언어 정체불명의 프로그래밍입문 4 실행 디버깅 1 정체불명 2012.01.18 1684
C언어 제니스가 올린 글 출처 알았네요.... 2 제네시스& 2009.06.27 2383
기타 제로보드 xe 서버 이전하기 5 아방스 2008.01.11 2610
플러그인 초고속 카매라 같은 효과를 만드는 Twixtor 플러그인 아방스 2011.12.16 13333
에프터 이펙트 총 쏘는 듯한 효과를 만들어 볼까요? 7 아방스 2010.06.01 5784
기타 카일 쿠퍼의 강의 입니다. Kyle Cooper: The Film Inside the Film (lecture) 아방스 2011.01.17 2415
기타 캐릭터 생성에 도움 되는글? 10 아방스 2008.08.26 3222
기타 캐릭터고르는 이벤트 만들기 1 file ☆고진수 2011.08.25 2263
Board Pagination Prev 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19