개발꿈나무
[C# 교과서] 1. C# 준비 본문
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보다 크거나 같아야 하고, 인수 목록의 크기보다 작야아 함
'C# 기초' 카테고리의 다른 글
[C# 교과서] 3. C# 기초(2) - 연산자 (0) | 2022.01.11 |
---|---|
[C# 교과서] 2. C# 기초(1) - 변수, 데이터 형식 (0) | 2022.01.11 |
Visual Studio 사용법 (0) | 2021.09.17 |
[C#] WinForm에서 계산기 만들기(1) (0) | 2021.08.23 |
[C# 기초] Visual Studio Code(VSCode)로 C# 시작하기 (0) | 2021.08.23 |