반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발꿈나무

[C# 교과서] 1. C# 준비 본문

C# 기초

[C# 교과서] 1. C# 준비

HYOKYE0NG 2022. 1. 11. 10:39
반응형
C# 소개하기

 

C# 프로그래밍 언어

C#은 마이크로소프트에서 만든 개체 지향 프로그래밍 언어로 테스크톱, 웹, 모바일, 게임 프로그램 등 분야를 가리지 않고 프로그램 작성 가능

2000년 7월에 발표했으며, 전 세계 개발자가 오랫동안 사용하고 있는 프로그래밍 언어 중 하나로 주기적으로 버전이 업데이트 됨

 

C# 특징

  • C#은 .NET(닷넷)을 위한 많은 언어 중 하나로, 마이크로소프트의 닷넷 플랫폼을 기반으로 함
  • 절차적 언어와 개체 지향적 언어의 특징, 그리고 함수형 프로그래밍 스타일을 제공하는 다중 패러다임 프로그래밍 언어
  • C++, 자바, 자바스크립트와 기초 문법이 비슷함
  • 자동으로 메모리 관리
  • 컴파일 기반 언어
  • C나 자바스크립트와 달리 전역 함수나 변수가 없고, 모두 클래스 안에서 생성됨
  • 제네릭과 LINQ의 편리한 기능 제공

 

C# 버전

  • C#은 1.0 버전부터 8.0 버전까지 오랫동안 꾸준히 발전해옴
  • 100% 하위 호환성 지킴(낮은 버전에서 지원하던 기능이 높은 버전으로 올라가면서 없어진 것이 없음)

 

 

닷넷 생태계

 

닷넷은 소프트웨어 프레임워크로, 응용 프로그램의 개발 속도를 높이는 데 도움이 되는 API 및 서비스 모음

 

닷넷 특징

  • 무료, 오픈소스, 크로스 플랫폼 개발 환경
  • 런타임 엔진(여러 명령어 집합)
  • 여러 언어 제공: C#, 비주얼 베이직(VB), F#
  • 웹, 데스크톱, 모바일, 게임, IoT, 클라우드 등 모든 영역의 개발 환경 제공

닷넷 생태계 종류

  • 닷넷 프레임워크: 응용 프로그램을 만드는 또 다른 종류의 소프트웨어
  • 닷넷 코어: 크로스 플랫폼 지원, ASP .NET CORE/Blazor/Windows Forms/WPF 등의 기술 포함, 서로 다른 버전을 머신 하나에서 함께 실행 가능, 성능 향상에 중점
  • 자마린: iOS, 안드로이드 기반 모바일 응용 프로그램을 C#과 XAML 기술로 만들 수 있음
  • 닷넷 스탠다드: 닷넷 프레임워크, 닷넷 코어, 자마린 영역에서 공통으로 사용할 코드를 모아 프로젝트 하나로 관리
  • 유니티: 닷넷 생태계에 직접적으로 포함되지는 않지만, 유명한 게임 엔진, 유니티에서 많이 사용하는 언어 중 하나가 C#

닷넷의 구분

  • CLR(Common Language Runtime): 런타임 엔진으로 닷넷의 모든 소프트웨어를 돌리는 엔진 역할
  • FCL(Framework Class Library): 닷넷 개발에 필요한 필수 라이브러리 클래스의 집합

 

첫 C# 프로그램 작성하기

 

1. Visual Studio 실행 -> [코드를 사용하지 않고 계속]을 클릭하여 메인 화면으로 이동 -> [파일]-[새로 만들기]-[프로젝트] 선택 -> 콘솔 앱(.NET Core) 선택 후 [다음] -> 프로젝트 이름/위치 지정 후 [만들기]

 

2. 아래의 코드 작성

using System;

namespace STUDY1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

주의점

  • Class의 이름과 .cs 파일의 이름은 동일해야 함 -> 위의 코드에서 Class 이름이 Program이기 때문에 해당 cs 파일명은 Program.cs여야 error가 발생하지 않음
  • C#은 대소문자를 구분하는 언어이므로 반드시 대소문자를 구분하여 작성해야 함
  • 인텔리센스 기능: 일반적으로 가장 많이 사용하는 명령어 가이드 제공 (ex)Console을 입력할 때 팝업창이 뜸

 

3. 소스 코드 입력 후 [디버그]-[디버그하지 않고 시작] 또는 Ctrl+F5를 눌러 코드 실행

  • 컴파일 - 확장자가 .cs인 파일을 실행 가능한 .exe 파일로 변환
  • 빌드(Build) - 처음 빌드 후 변경된 내용만 빌드
  • 다시 빌드(ReBuild) - 기존 빌드 내용을 모두 제거한 후 전체 빌드 (정리+빌드)
  • 정리(Clean) - 빌드된 내용을 지움

 

 

C#의 기본 코드 구조

 

  • 네임 스페이스: 자주 사용하는 네임스페이스를 위쪽에 미리 선언 EX) using System;
  • Main() 메서드: 프로그램의 시작지점으로 반드시 있어야 함
  • 중괄호({}): 프로그램 범위(스코프)를 구분함
  • 세미콜론(;): 명령어(문, 문장)의 끝을 나타냄

 

tip: svm+tab*2 -> Main 메서드 자동 완성 / cw+tab*2 -> Console.WriteLine 메서드 자동 완성

 

 

C# 기본 문법 이해하기

 

출력문

  • Console.WriteLine(): 자동 줄바꿈
  • Console.Write(): 자동 줄바꿈 하지 않음

줄바꿈 기호: \n

 

주석문(코드 설명문)

한 줄 주석: //

여러줄 주석 /**/

 

들여쓰기

공백 4칸 또는 tab

 

공백 처리

C#에서 공백은 무시됨, 줄바꿈 또한 프로그램 실행에 영향을 주지 않음 -> 가독성을 고려하여 적절하게 사용

 

이스케이프 시퀀스

이스케이프 시퀀스: WriteLine() 메서드에서 사용할 확장 문자

  • \n: 한 줄 내리기, new line
  • \t: Tab 들여쓰기, tab
  • \r: 캐리지 리턴(줄의 시작으로 이동), carrage-return
  • \': 작은따옴표 문자 하나 출력
  • \": 큰따옴표 문자 하나 출력

 

자리 표시자

{n} 형태로 {0}, {1}, {2} 순서대로 자리를 만들고 그 다음에 있는 값을 차례로 넘겨받아 출력

Console.WriteLine("{0} (1}", "Hello", "C#");
// result: Hello C#

Console.WriteLine("{0} {0}", "Hello C#");
// result: Hello C# Hello C#

Console.WriteLine("{1} {0}", "C#", "Hello");
// result: Hello C#

주의점: 0에서 시작하는 인덱스는 0보다 크거나 같아야 하고, 인수 목록의 크기보다 작야아 함

반응형
Comments