언어/C#

C# 기초

CodeHunst 2023. 3. 29. 17:18

C#이란?

마이크로소프트에서 개발한 닷넷(.NET)프레임워크 기반 범용 목적의 다중 패러다임 프로그래밍 언어

 

닷넷 프레임워크

웹 앱, 모바일 앱, 데스크톱 프로그램, 게임 프로그램, 사물인터넷 프로그램 등을 만들기 위한 오픈소스, 크로스 플랫폼 개발 환경

 

C#으로 만들 수 있는 것들은?

윈도우 프로그램, 유니티 콘텐츠, 웹 애플리케이션, 사물인터넷 연동 장치, 

 

형변환

데이터의 형식을 변경해 데이터를 담는 과정

 

오버플로우

데이터 형식을 변환하는 과정에서 데이터 손실이 발생하는 현상

 

클래스와 인스턴스

클래스 : 설계도

인스턴스 : 실체

 

생성자와 소멸자

class Person{
    public string Name;
    //생성자
    public Person(){
        Name ="성훈";
        Console.WriteLine("생성자");
    }
    //소멸자
    ~Person(){
        Console.WriteLine("소멸자");
    }
    public void Eat(){
        Console.WriteLine(Name+"밥먹는 중");
    }
}

생성자

클래스의 객체를 생성하는 역할

클래스를 선언할 때 생성자를 구현하지 않아도 컴파일러가 자동으로 만든다.

 

소멸자

사용하지 말 것을 권장하는데, 가비지 컬렉터가 언제 동작할지 예측할 수 없기 때문

명시적으로 소멸자가 구현되어 있으면 가비지 컬렉터가 Finalize() 메서드를 호출하는데 응용 프로그램의 성능 저하만 가져올 수도 있다.

소멸자는 직접 구현하지 않으면 자동적으로 구현되어 알아서 호출된다.

 

상속

//상속
class Student : Person{
    //오버라이딩
    public void Eat(){
        Console.WriteLine("학생은 우유를 마셔");
    }
    public void Study(){
        Console.WriteLine("쉿, 공부 중");
    }
}

오버라이딩(overriding)

: 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용

 

배열

데이터명[] 변수명;

// 배열 초기화 세 가지 방법
int[] array = new int[3];
for(int i=0;i<3;i++)
    array[i]=i*10;
int[] array2 = new int[] {1,2,3};
int[] array3 = {4,5,6};

// 출력
foreach(int item in array)
    Console.WriteLine(item);

컬렉션

ArrayList

Array와 유사하지만 크기가 가변적, 값의 형태도 여러가지 데이터형을 저장 가능

ArrayList al = new ArrayList();
al.Add(1);
al.Add("Hello");
al.Add(true);
foreach(var item in al)
    Console.WriteLine(item);

Queue

선입선출 큐

Queue qu = new Queue();
qu.Enqueue(1);
qu.Enqueue(2);
while(qu.Count>0)
    Console.WriteLine(qu.Dequeue());

Stack

선입후출 스택

Stack st = new Stack();
st.Push(1);
st.Push(2);
while(st.Count>0)
    Console.WriteLine(st.Pop());

 

Hashtable

Key, Value로 구성

Hashtable ht = new Hashtable();
ht["one"] = 1;
ht["two"] = 2;
foreach(var key in ht.Keys)
    Console.WriteLine(ht[key]);

 

 

 

 

 

 

 

 

[참고]

"C# 프로그래밍 입문(기초)," 유튜브 재생목록, 게시자 "ToyMakers", https://www.youtube.com/playlist?list=PLHUVRivHVlixV3NeI0ChOilmjHhJ_3P0I 

 

C# 프로그래밍 입문(기초)

C# 프로그래밍의 기본기를 익히고, 응용할 수 있는 방법에 관한 영상입니다. C#의 기본 문법, 윈도우 프로그램, 웹 앱, 유니티 게임 만들기, 아두이노 연동 등 활용 방법에 대해 설명합니다.

www.youtube.com

https://qzqz.tistory.com/116

 

C# 클래스 3 - 생성자(Constructor), 소멸자(Destructor)

생성자 생성자는 클래스의 객체를 생성하는 역할을 합니다.클래스를 선언할 때 생성자를 구현하지 않아도 컴파일러가 자동으로 만듭니다. 그럼에도 생성자를 직접 구현하는 이유는 클래스의

qzqz.tistory.com

 

 

 

'언어 > C#' 카테고리의 다른 글

C++과 C#의 차이  (0) 2023.08.27