특징
❛ 닷넷 플랫폼에 걸맞은 MS에서 만든 객체 지향 언어.
❛ 각종 언어들의 장점들을 모아놓음. 자바와 비슷
❛ 하나의 소스파일(*.cs) 안에 정의
❛ 포인터 불필요, 가비지 컬렉션. 열거형, 구조체 생성 가능. 인터페이스 기반
❛ 장점 : 강력한 UI, 방대한 라이브러리
❛ 단점 : 자바 -> JRE를 통해 여러 운영체제에 맞게 실행. C# -> 닷넷 (윈도우만 설치, 프로그램의 무거움)
❛ 커맨드 : 스크립트에 쓰여진 명령, 세미콜론으로 마무리
전처리기
#define DEBUG
// #undef DEBUG // release version 릴리즈 시 주석 풀면 로그기능 끔
#if DEBUG
Console.WriteLine("Debug version");
#endif
if문 뒤의 DEBUG가 정의 되어있으므로 if문 실행.
-------------------------------------------
#if Unity_Editor
클래스
❛ 클래스 다이어그램
❛ 객체 초기화 연산자
❛ 참조 (reference) : 객체가 가르키는 클래스 유형을 가지는 변수
❛ 인스턴스 : 클래스에서 생성한 객체
❛ 캡슐화 : 클래스의 데이타를 숨김 -> private
❛ 생성자 : 객체 초기화시 비공개 필드가 있을 경우
❛ get, set 접근자 : 다른 클래스에서 그 속성을 읽거나 쓸 때 실행되는 특수한 메소드
❛ 상속 :
❛ 오버라이딩 : 상속받은 메소드를 바꾸는 것
❛ 인터페이스 : 클래스에 어떤 메소드와 속성을 반드시 구현해야 한다고 알려주는 역활. 아니면 에러
❛ 추상클래스 : 클래스 선언부에 abstract 키워드를 추가. 인스턴스 생성 불가
❛ 다형성 : 한 객체가 여러 모양을 가질 수 있다
❛ MonoBehaviour
❛ Stream 클래스 : 데이터를 읽고 씀
1. Stream.Read()
2. Stream.Write()
❛ StreamWriter : FileStream객체(바이트 형태로 파일을 작성)를 생성하고 관리
❛ System.Drawing
1. Rectacngle : 직사각형 클래스
2. Point : 점 클래스
함수 (메서드)
❛ Console.Read/ReadLine : 입력
❛ Console.Write/WriteLine : 출력
❛ OnMouseDown
게임 오브젝트의 충돌체, 게임의 GUI요소를 마우스로 클릭했을 때 호출, 인스펙터의 box collider
❛ OnMouseUp : 마우스 버튼을 눌렀다 떼었을 때
❛ OnMouseEnter : 마우스 커서가 충돌체나 GUI요소 안으로 들어갔을 때
❛ OnMouseExit : 마우스 커서가 충돌체나 GUI요소 밖으로 빠져나갔을 때
❛ Randomizer.Next(7) : 7이하의 난수 생성
❛ Start() : 내장함수. 초기화시 호출
❛ String.isNullOrEmpty() : 빈 문자열인지 체크
❛ System.Threading.Thread.Sleep(3) : 0.003초 쉬어
❛ ToString() 메소드 : 문자열로 바꿔
❛ Update() : 내장함수, 매 프레임이 랜더링 될 때 마다 호출. FPS 30이면 초당 30번 호출
가비지 컬렉션
❛ 예외 처리
- Exception : 프로그램이 예외 발생 -> Exception 객체 생성
1. IndexOutOfRangeException : 범위를 벗어난 배열의 인덱스에 접근
2. FormatException :
3. OverFlowException :
4. DivideByZeroException :
- try catch finally 문
- throw : 예외발생
❛ 이벤트 핸들러
- 객체가 이벤트 발생을 감지하면 실행할 준비된 코드
- 이벤트
- 이벤트 핸들러
- 이벤트 구독
- 대리자(delegate) :
- 콜백
LINQ
C#언어에 통합된 데이터 질의기능
유니티
게임 오브젝트에 스크립트 컴포넌트를 추가하여 사용
스크립트 객체는 MonoBehaviour클래서를 상속
클래스명은 같은 프로젝트에서 중복되면 안된다.
직렬화 : 프로세스에 있는 개체 정보를 다른 물리적인 매체에 선형적인 방법으로 저장하는 것
'컴퓨터공학 > 프로그래밍' 카테고리의 다른 글
C# | ref. 언어참조 : 키워드와 데이터 형식 (0) | 2020.02.07 |
---|---|
C# | ref. 프로그래밍 가이드 (0) | 2020.02.07 |
C# | 레퍼런스 둘러보기 (0) | 2020.02.07 |
C# | 자료형 (0) | 2020.02.07 |
ObjectiveC | Property Synthesize 지시어 (0) | 2020.02.07 |
ObjectiveC | 기초 (0) | 2020.02.07 |
C++ | 기초 (0) | 2020.02.07 |
C | 기초 (0) | 2020.02.07 |
댓글