C# 7

연결 리스트 (Linked List)

연결 리스트는 노드(Node)라는 구조를 사용하여 데이터를 저장하는 자료구조이다. 각 노드는 데이터와 다음 노드를 가리키는 포인터를 포함하며, 노드들은 포인터를 통해 서로 연결된다. 연결 리스트는 배열과 달리 크기가 고정되어 있지 않아 동적으로 데이터를 추가하거나 삭제할 수 있으며, 메모리 공간을 효율적으로 사용할 수 있다. 단뱡향 링크드 리스트 (Singly Linked List) : 단방향으로만 연결되어 있는것으로 다음 노드로만 이동 가능양방향 링크드 리스트 (Double Linked List) : 이전 노드와 다음 노드를 가리키는 포인터를 모두 갖고 있어 양방향으로 탐색이 가능한 자료구조   using System.Collections;using System.Collections.Generic;us..

개인 공부/C# 2024.07.26

스택, 큐

스택은 LIFO(Last-In, First-Out) 방식으로 데이터를 저장하고 관리하는 자료구조이다. 스택은 데이터를 쌓아 올리는 것처럼 가장 최근에 추가된 데이터가 가장 먼저 꺼내지는 특징이 있다.C#에서 스택은 Stack 클래스로 제공되며, 다양한 데이터 유형을 저장할 수 있다. 스택은 함수 호출, 연산자 우선순위 처리, 되돌리기/다시 실행 기능 등 다양한 분야에서 사용된다. 큐는 FIFO(First-In, First-Out) 방식으로 데이터를 저장하고 관리하는 자료구조이다. 큐는 데이터를 쌓아 올리는 것처럼 가장 먼저 추가된 데이터가 가장 먼저 꺼내지는 특징이 있다. 데이터는 큐의 맨 뒤에 추가되고, 맨 앞에서 삭제된다. 큐는 데이터를 순서대로 처리해야 하는 경우에 유용하다. 예를 들어, 프린터 큐..

개인 공부/C# 2024.07.26

델리게이트(delegate)와 이벤트 (event)

델리게이트 (Delegate) 델리게이트는 특정 메서드 시그니처와 일치하는 메서드를 참조할 수 있는 형식이다. 이를 통해 메서드를 변수처럼 다루고, 런타임에 메서드를 동적으로 호출할 수 있다. 이벤트 (Event) 이벤트는 델리게이트의 특수한 형태로, 주로 특정 동작이 발생했을 때 여러 구독자(subscribers)에게 알리는 데 사용된다. 이벤트는 델리게이트보다 더 제한적이며, 이벤트를 발생시키는 클래스 외부에서는 이벤트를 직접 호출할 수 없다. 사용 목적:델리게이트: 특정 메서드의 참조를 저장하고 런타임에 호출하는 데 사용된다. 함수 포인터와 유사한 역할이다.이벤트: 주로 상태 변화나 특정 동작이 발생했을 때 여러 구독자에게 알리는 데 사용된다. 이벤트는 더 제한적이며 외부에서 직접 호출할 수 없다...

개인 공부/C# 2024.07.26

추상 클래스

C#에서 추상 클래스는 구현이 불완전하여 해당 클래스 자체로는 인스턴스화할 수 없는 클래스를 의미한다.추상 클래스는 다른 클래스들이 상속하여 그들의 특정 동작을 구현해야 하는 기반 클래스로 사용된다.추상 클래스는 하나 이상의 추상 메서드를 포함할 수 있으며 추상 메서드는 본체가 없는 메서드로, 파생 클래스에서 반드시 구현해야 한다. 추상 클래스 특징인스턴스화 불가: 추상 클래스는 직접 인스턴스화할 수 없다.추상 메서드: 추상 클래스는 본체가 없는 추상 메서드를 포함할 수 있다. 이 메서드는 파생 클래스에서 구현해야 한다.일반 메서드: 추상 클래스는 일반 메서드도 포함할 수 있다.필드 및 속성: 필드와 속성도 가질 수 있다.생성자: 생성자를 가질 수 있으며, 파생 클래스의 생성자에서 호출할 수 있다.추상 ..

개인 공부/C# 2024.07.26

파일 입출력

저장매체에 데이터를 저장하고 불러오는 역할을 하며 클래스는 System.IO 네임스페이스에 포함되어 있다.파일의 경로 지정 방법상대적 경로string filePath = "example.txt";절대적 경로string filePath = "C:\\example.txt"; \를 사용하여 경로를 지정할 경우 이스케이프 문자로 인식되므로 \\로 써야한다.string filePath = "C:/example.txt";  /는 C#에서도 사용 가능하지만 주로 UNIX 기반 시스템에서 사용된다.string filePath = @"C:\example.txt"; 맨 앞에 @를 붙이면 \를 두번씩 쓸 필요가 없어진다.유니티에서의 파일 입출력을 활용한 예시 작성

개인 공부/C# 2024.07.12