2021-08-27
부족한 제가 우연히 게임 개발 부서에 합격하게 되었습니다.
기본 C#문법의 부족함을 깨닫고 다시 공부 시작합니다.
해당 글의 출처는 C# 프로그래밍 입문(오세만)을 참고했습니다.
책의 진행순서에 맞춰서 공부할 예정입니다.
오늘의 주제: C#의 개요
C#이란 ?
C#(C Sharp)은 마이크로소프트사의 앤더슨 헬스버그(Anders Hejlsberg)에 의해 고안된 언어이면서
이름이 의미하듯이 C언어 계열에 속하는 범용 프로그래밍 언어이다.
설계 목표 -> 간단(simple), 현대적(modern), 객체 지향적(object oriented), 타입 안정적(type safe) 인 언어
C# 프로그래밍 언어의 사용 용도
- 콘솔 응용 프로그램
- 윈도우 응용 프로그램
- 웹 및 분산 환경 시스템을 위한 응용 프로그램
- 게임(Unity!)
C# 언어의 장점
- 객체지향적인 특성을 지원(OOP: object oriented programming)
- 마이크로소프트사가 .NET 환경을 위해 제작한 언어
- C++언어의 기반을 두고 Visual Basic과 Java언어의 장점을 갖고 있는 언어
- C++의 객체지향성과 자바의 분산 환경 처리에 적합한 다중성을 지니며 컴포넌트 기반의 소프트웨어 개발 패러다임을 지원하는 컴포넌트 지향 프로그래밍 언어
C# 언어의 특징
- 자료 추상화(abstract) - 자료 구조와 더불어 그 자료 구조에서 행할 수 있는 연산을 정의하여 사용자 정의 자료형을 마치 언어 시스템에서 제공한 자료형처럼 사용할 수 있는 기능, 클래스를 통하여 자료 추상화 구현
- 델리게이트(delegate) - 메소드를 다른 객체에 전달해야 하는 프로그램이 기법을 위해 사용
- 이벤트(event) - 형식적으로 정의하고 사용할 수 있는 방법론을 제공
- 예외 처리(exception) - 실행 시간에 일어나는 에러인 예외를 언어 수준에서 체계적으로 다룰 수 있는 방법을 제공
- 멀티스레드(multithreading) - 동시 처리(concurrent processing)를 위한 기능 제공
C# 언어의 구조
- C 언어로부터 연산자와 문장 등 기초적인 프로그래밍 언어의 기능 상속
- C++ 언어로부터 객체지향 속성의 영향
- Java 언어로부터 예외 처리와 스레드 등 고급 프로그램이 언어의 개념 상속