Avangs

  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입
Avangs
  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입

NOTICE

공지사항
더보기
  • 서버 안정성 및 보안 강화 조치 04.20

Recently Added Games

최근 등록 게임
  • 어드벤쳐 고철에 파묻힌 데모나 (屑鉄まとうデモナ) newfile 08.19
  • 어드벤쳐 비올레 저택의 시온 : 꽃눈의 저택|RPG Maker MZ 단편 심리공포 어드벤처 file 08.17
  • 기타 (똥 주의)그저 똥을 누러 가는 게임 Re:Boot updatefile 08.16
  • 롤플레잉 SACCHARINE SYNC (DEMO) 배포 file 08.12
  • 기타 (완성작) 야구장에 가자4 file 2 07.07
기타
2012.08.03 16:56

XNA로 게임만들기 - 2. 강의에 앞서 C#의 문법

재훈군
조회 수 4317 추천 수 0 댓글 1
Atachment
첨부 '4'
  • 1.png,
  • 2.png,
  • 3.png,
  • 4.png,
크게 작게 위로 아래로 댓글로 가기 인쇄
크게 작게 위로 아래로 댓글로 가기 인쇄

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 입니다 ^^

 

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

 


0 추천 0 비추천
위로 아래로 댓글로 가기 인쇄
에디터 선택하기
✔ 텍스트 모드 ✔ 에디터 모드
?
댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
Comment '1'
  • profile
    하늘바라KSND 2012.08.03 21:56
    오옹

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

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

Category
  • css
  • C언어
  • XpressEngine
  • 게임기획
  • Vegas Pro
  • 시네마4D
  • 어도비 프리미어
  • 에프터 이펙트
    • 템플릿
    • 플러그인
  • 웹디자인 관련
  • 플래시
  • 기타
  • 메이킹 영상
  • OSX (맥)
  • 어플개발
  • 파이널컷X
List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 2445
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 1850
파이널컷X [파이널 컷 X] 편집중 하드디스크 용량이 부족할때 랜더파일 삭제로 용량을 확보하자 아방스 2017.12.16 561
파이널컷X [파이널컷 프로 X] 10분만 투자해 기본편집부터 출력까지 배워봅시다. 아방스 2017.10.26 456
Vegas Pro [베가스 프로 15] 10분 안에 기본편집부터 출력까지 배워봅시다. 아방스 2017.09.28 525
어도비 프리미어 [프리미어 프로] 아무것도 몰라도 영상편집 할수 있다! 아방스 2017.09.28 479
Vegas Pro [베가스 프로 15] 추가된 새로운 기능 "픽처 인 픽처" 아방스 2017.09.27 396
Vegas Pro [베가스 프로 15] 트라이얼 버전 설치 방법 아방스 2017.09.06 1450
에프터 이펙트 [에프터이펙트 강좌] 프리미어 템플릿으로 내보내기 아방스 2017.08.01 654
에프터 이펙트 [에펙] 자막바 길이가 자동으로 조절되도록 만들어봅시다! 아방스 2017.08.01 714
어도비 프리미어 [프리미어 프로 cc 2017.1 강좌] 영상에 줌인 줌아웃 효과 주기 아방스 2017.08.01 1550
어도비 프리미어 [프리미어프로cc2017.1] 애니메이션 자막 템플릿 만들어보기 아방스 2017.08.01 570
어도비 프리미어 [프리미어프로cc2017.1] 자막바 길이자동 조절 ver. 2 file 아방스 2017.08.01 580
어도비 프리미어 [프리미어프로cc2017.1] 제목 메뉴와 자막 템플릿이 사라졌어요! 아방스 2017.08.01 1095
어도비 프리미어 [프리미어 프로 cc 2017.1] 새로운 기능 "문자도구" 설명 아방스 2017.08.01 1510
어도비 프리미어 [프리미어프로cc2017] 자동으로 길이 조절 되는 자막 바 file 아방스 2017.08.01 5126
어도비 프리미어 [프리미어cc2017] 프록시 편집에 대해서 아방스 2017.08.01 891
어도비 프리미어 [프리미어 프로 cc2017 강좌] 멀티캠 편집 방법 아방스 2017.08.01 976
어도비 프리미어 [프리미어 프로 cc2017 강좌] 오류 해결방법 '파일에 오디오 또는 동영상 스트림이 없습니다.' 아방스 2017.08.01 1547
어도비 프리미어 [프리미어 CC2017 강좌] 줌인드랜지션 무료 템플릿 (적용 및 사용법) file 아방스 2017.08.01 907
어도비 프리미어 [프리미어 프로 CC2017 강좌] 영상의 확대 축소 마음대로 하기 (매드무비제작) 아방스 2017.08.01 722
어도비 프리미어 [프리미어 프로 강좌] 서서히 원하는 색으로 물들이기 아방스 2017.08.01 296
쓰기
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19
AVANGS

게임 제작, 창작, 자료, 강좌를 연결하는 커뮤니티

  • 개인정보 취급방침

Copyright © 2026 Avangs