기타 강좌

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 137
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 226
에프터 이펙트 에펙 글자 등장 효과 - Create a Stormy, Electric Type Reveal 3 file 아방스 2013.07.05 4535
어도비 프리미어 [어도비 프리미어 CS6] 흔들림 보정 어렵지 않아요~. file 아방스 2013.03.13 10866
플러그인 [에펙] 피부톤 보정 플러그인 Beauty Box file 아방스 2013.01.07 6273
기타 슈팅게임만들기 95 명령어 해석 - 퍼옴 하늘바라KSND 2012.11.10 3033
C언어 C# 병렬처리! 스레드 사용하기 1 file 꿈달 2012.11.08 3665
Vegas Pro 같은 공간에 같은 인물 등장 하도록 편집 2 file 아방스 2012.11.06 2896
에프터 이펙트 [CS6] After Effects Warning: logged one error 에러 발생시 대처법 file 아방스 2012.10.23 3963
에프터 이펙트 에펙 단축키 깔끔한정리~ ^^ file 아방스 2012.09.13 6194
에프터 이펙트 [기초강좌] cs6 애프터 이팩트의 고성능 작업을 위한 PC최적화 아방스 2012.09.12 4251
에프터 이펙트 [기초강좌] 애프터 이팩트의 워크플로우과 용어 설명 아방스 2012.09.12 3074
기타 PCSX2 자체 캡처기능으로 캡처한 동영상 인코딩하기 file Alkaid 2012.09.09 2990
기타 VirtualDub, Avanti, AviSynth를 사용한 초보적인(?!) DVD -> 동영상 파일 변환법. Alkaid 2012.08.27 3249
플래시 매우 쉽고 편리한 액션스크립트(추가중) 코르뉴 2012.08.06 2590
기타 XNA로 게임만들기 - 3. 자신만의 라이브러리를 만들자. 7 file 재훈군 2012.08.03 3298
기타 XNA로 게임만들기 - 2. 강의에 앞서 C#의 문법 1 file 재훈군 2012.08.03 3995
기타 XNA로 게임만들기 - 1. 인사겸 소개 3 file 재훈군 2012.08.03 3066
기타 게임을 처음 제작하시는 초심자 분들께 7 TheEK 2012.07.03 2545
게임기획 프롤로그의 여러가지 작성 방법 2 아방스 2012.04.17 4059
플러그인 VC Reflect [반사되는 이미지 만드는 플러그인] 1 file 아방스 2012.03.28 6492
기타 PHP 2강. 내가누구 2012.02.24 1977
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19