[C#이 보이는 그림책] 0. C#을 시작하기 전에

ssu_hyun·2022년 4월 1일
0

C#

목록 보기
1/22
post-thumbnail

C#이란

  • 2000년에 Microsoft사가 발표한 비교적 새로운 프로그래밍 언어
  • 기존의 프로그래밍 언어인 C, C++, Java의 좋은 점을 가져와 이해하기 쉽게 만들어진 언어
  • 객체 지향
    • 프로그래밍의 기능을 그룹화하고 이를 조합해 프로그램을 작성해 가는 개념
    • C++, Java도 C#과 동일한 객체 지향 언어이다.
  • .NET Framework
    • C# 프로그램은 .NET Framework(닷넷 프레임워크)라는 실행환경과 조화되어 움직임
    • OS 상관없이 .NET Framework가 준비되어있다면 어디서든 동작시킬 수 있다.
  • 안전한 형, 메모리 관리
    • 데이터 형(type) 관리가 확실해 변수에 값을 잘못 대입하는 일을 막음
    • C/C++과 같이 확보한 메모리를 해방하지 않아 프로그램의 작동이 불안정하게 되는 일이 없다.

.NET Framework

  • Microsoft .NET
    : 인터넷을 포함한 네트워크 상에 있는 다양한 데이터나 애플리케이션을 책상 위에서 취급하는 것과 같이 거리감 없게 만든다는 개념
  • .NET Framework
    : .NET의 개념에서 애플리케이션을 개발 및 실행하기 위해 준비된 플랫폼
  • C#은 .NET Framework 상에서 동작하는 애플리케이션(.NET 애플리케이션)을 작성하기 위한 용어의 대표격. 그 외에도 C++, Visual Basic, VBScript, JScript를 이용할 수 있다.
  • .NET 애플리케이션
    중간 언어(IL:Intermediate Language)로 작성한 프로그램(바이트 코드) + 보조 정보로 이루어져있으며 .NET Framework (클래스 라이브러리)에 포함된 공통 언어 런타임(CLR:Common Language Runtime)이라는 가상의 실행 시스템 상에서 동작한다. 이는 컴퓨터가 직접 실행할 수 있는 코드(네이티브 코드)가 아니므로 JIT 컴파일러를 통해 바이트 코드를 하나하나 차례로(JIT:Just In Time) 네이티브 코드로 번역하여 프로그램을 실행한다. CLR과 같은 완충장치로 인해 .NET 애플리케이션은 어느 CPU나 OS에서도 같은 프로그램을 동작시킬 수 있다.

용어설명

  • Express Edition
    : 마이크로소프트 사의 주요 개발 도구인 Microsoft Visual Studio 프로그램들을 일부 기능에 제한을 두고 무료로 사용해 볼 수 있도록 제공되는 프로그램 명칭
  • 기계어(Machine Language)
    : 컴퓨터가 이해할 수 있는 언어로 0과 1로 구성되어 있다. C#이나 C언어 등은 우리가 알기 쉽게 만든 고급 언어로 컴파일러 프로그램을 통해 컴파일 과정을 거쳐 컴퓨터가 이해할 수 있는 기계어로 만들게 된다. 기계어는 운영체제에서 실행될 수 있도록 실행파일 형태로 저장된다. (ex. *.exe, *.com)
  • Visual Basic
    : 마이크로소프트 사에서 개발한 윈도우용 응용 프로그래밍을 개발할 수 있는 도구
  • VBScript
    : 마이크로소프트가 넷스케이프와 자바스크립트에 대응하기 위해 내놓은 인터프리터형 언어로 Visual Basic을 기초로 만들어졌다.
  • 컴파일러
    : 고급 언어를 컴퓨터가 이해할 수 있는 기계어로 변환해주는 소프트웨어. C, Java, C# 등이 고급 언어로 이런 프로그램들은 컴파일러에 의해 기계어로 변환된 다음 실행 파일을 만들게 된다.

C# 언어의 이용 장면

  • 콘솔 애플리케이션
    : Windows의 명령 프롬프트 내에서 동작하는 CUI(Character User Interface:문자 사용자 인터페이스) 애플리케이션
  • Windows 애플리케이션
    : 창이나 버튼 같은 GUI(Graphic User Interface:그래픽 사용자 인터페이스)를 가진 애플리케이션
  • 웹 애플리케이션
    : 사용자의 웹 브라우저에서 제기되는 요구에 대해 서버 측에서 동작하여 HTML페이지 생성. ASP.NET이라 함

0개의 댓글