[TIL] 3일 차 - C#의 특징과 작성 팁

ChangBeom·2025년 1월 24일

TIL

목록 보기
4/53
post-thumbnail

강의를 들으며 이미 확실하게 아는 내용보단 잊고 있었던 내용이나 새로알게 된 지식을 바탕으로 정리했습니다.

[1. C# 언어와 .NET 프레임워크]

[1.1 C# 언어의 특징]

  • 객체 지향 프로그래밍 언어이다.
  • 강력한 형식 시스템가비지 컬렉션 기능을 제공한다.
  • 다양한 플랫폼에서 사용 가능하며 .NET 프레임워크에서 실행된다.
  • C, C++, Java 등 다른 언어들과 문법 이나 구조가 유사하다.

<강력한 형식 시스템>
변수나 객체의 자료형이 미리 정의되어 있어 데이터 타입에 대한 안전성과 정확성을 보장하는 시스템

<가비지 컬렉션 기능>
동적 할당된 메모리를 자동으로 회수해주는 기능. C#에서는 개발자가 메모리를 직접 할당하고 해제하는 대신 .NET 프레임워크에서 가비지 수집기가 자동으로 메모리를 해제해준다.

[1.2 .NET 프레임 워크]

.NET 프레임 워크란? Microsoft에서 개발한 프로그래밍 플랫폼으로, 다양한 프로그래밍 언어를 지원하며, 개발자가 손쉽게 애플리케이션을 개발할 수 있도록 도와준다.

위 그림을 보면 알 수 있듯이 개발자가 프로그래밍 언어를 통해 개발을 하게 되면 중간언어가 생산된다. 그 후 각각의 플랫폼들에서 중간언어를그 플랫폼에 맞는 형태로 바꿔 사용하는 방식이다.

[2. 명명규칙 (Code convention)]

명명규칙이란 개발자들 사이에서 약속된 코드 작성 규칙으로 ,코드의 가독성을 높이고 유지 보수를 쉽게 하기 위해 사용되는 것이다. 명명규칙은 프로그래밍 언어마다 다를 수 있다.

[2.1 식별자 표기법]

  • PascalCase : 클래스, 메서드, 프로퍼티 이름 등에 사용된다. 단어의 첫 글자는 대문자로 시작하며, 이후 단어의 첫 글자도 대문자로 표기한다. ex) ClassName, MethodName, PropertyName과 같은 형태이다.

  • camelCase : 변수, 매개변수, 로컬 변수 이름 등에 사용된다. 단어의 첫 글자는 소문자로 시작하며, 이후 단어의 첫 글자는 대문자로 표기한다.`ex) variableName, parameterName, localVariableName과 같은 형태이다.

  • 대문자 약어 : 예외적으로 전체 글자가 모두 대문자인 식별자도 있다. `ex) ID, HTTP, FTP 등이 있다.

[2.2 들여쓰기]

  • 탭(tab) 또는 스페이스 바(space bar) 4번을 입력하여 코드 블록을 들여쓴다.

[2.3 중괄호 위치]

  • 사람마다 상이하나 나는 항상 새로운 줄에서 시작하는 것을 선호한다.

[2.4 빈 줄 사용]

  • 관련 없는 코드 사이에는 빈 줄을 사용하여 구분한다.
  • 메소드, 클래스 등의 블록 사이에는 두 줄을 띄어쓴다.

[2.5 주석]

  • 한 줄 주석을 사용할 때
    // 주석입니다.
  • 여러 줄 주석을 사용할 때
    /





    .
    /

[3. var 키워드]

<var 키워드>

  • C# 3.0부터는 var 키워드를 사용하여 변수를 선언할 수 있다.
  • var 키워드를 사용하여 변수를 선언하면 변수의 자료형이 컴파일러에 의해 자동으로 결정된다.
  • 즉, 초기화하는 값의 자료형에 따라 변수의 자료형이 결정된다.

<예시>

var num = 10;	// int 자료형으로 결정
var name = "Chang"	// string 자료형으로 결정
var pi = 0.123456789	//	double 자료형으로 결정

[4. 문자열 처리 기능 및 메소드]

[4.1 생성]

string str1 = "Hello, World!";	//	리터럴 문자열 사용
string str2 = new string('H',5);	// "HHHHH"가 생성 됨

[4.2 분할]

string str = "Hello, World!";
string[] words = str.Split(", "); // ", "를 기준으로 나뉘어 단어가 배열에 들어가게 된다. words[0] == Hello, words[1] == World!

[4.3 검색]

string str = "Hello, World!";
int index=  str.IndexOf("World");

해당 코드는 str 문자열에서 "World" 문자열의 첫 번째 인덱스를 찾아 index 변수에 저장한다.

[4.4 대체]

string str = "Hello, World!";
string newStr = str.Replace("World", "Universe");

해당 코드는 str 문자열에서 "World" 문자열을 "Universe"문자열로 바꾼 후 newStr 변수에 저장한다.

[4.5 포맷팅]

<문자열 형식화>

string name = "Chang";
int age = 27;
string message = string.Format("My name is {0} and I'm {1} years old.", name, age);

<문자열 보간>

string name = "Chang";
int age = 27;
string message = $"My name is {name} and I'm {age} years old.";

0개의 댓글