C#(6)
-
C# - Queue
Stack을 했으면 빠질 수 없는 자료구조 Queue이다. Stack처럼 데이터를 일정한 방식으로 관리를 하는데 Queue는 선입선출 FIFO(First-in-First-out)구조이다. 먼저 들어온데이터가 제일 먼저 빠져나가는 방식이다. 흔히 게임을 할 때 대기실에서 매칭을 할 때 큐를 잡는다고 표현한다. 이때 큐가 선입선출의 구조를 가진 Queue를 뜻한다. 목차Queue의 작동방식Queue 사용법 Queue의 작동방식Queue는 Stack과 마찬가지로 제너릭 형태이다. Queue 클래스를 C#에서 지원하고있다. 선입선출(FIFO)를 기반으로 한 자료구조로 순서대로 처리해야할 경우에 유용한 자료구조이다. Enqueue를 통해 처리해야할 데이터를 집어넣고, Dequeue를 통해 이미 들어가있던 데이터..
2024.05.02 -
C# - Event
이벤트는 우리가 평소에 알고있듯 무슨 일이 생기거나 할 때 이벤트라고 부른다. C#에서도 마찬가지로 무슨 일이 발생 할 때 이벤트가 발생한다고 하는데 이 때 이벤트는 클래스내에서 발생한 특정한 일(Event)가 일어났음을 외부에 있는 이벤트핸들러에게 알려 처리하는 것을 말한다. 목차EventEvent 사용법Event이벤트는 객체에서 작업 실행을 알리는 위해 보내는 메세지이다. 이벤트를 발생시키는 객체를 이벤트 전송자라고 하며 이벤트 전송자는 어떤 객체 또는 메서드가 발생되는 이벤트를 처리할지 모른다. 이벤트는 보통 전송자의 필드이다.이벤트의 알림을 받고 알림을 받은 외부 가입자들은 해당 이벤트가 발생했을때 어떤 명령을 처리할지 정하는데 이것을 Event Handler라고 한다. 가입자들은 이벤트핸들러에 ..
2024.04.30 -
C# - Stack
C# 스택에 대해서 학습했다. 코딩테스트 문제를 풀면서 스택 자료구조를 사용할 일이 있었는데 제공하는 메서드가 원래하던 C++과 달라서 공부해보았다. 그러는김에 다시한번 스택에 대해서 알아보았다. 목차스택이란?스택 사용법 스택이란?스택(Stack)은 자료구조중에 하나로 LIFO(Last-In-First-Out) 후입선출 구조를 가진 자료구조이다. 말 그대로 마지막에 들어온것이 제일 먼저 나가는 자료구조로 바구니에 물품을 담을때 계산을 할때는 제일 위에있는 것 부터 계산하는거라고 생각하면 된다. C#에서는 이런 스택 자료구조를 제너릭 클래스로 제공하고 있으며 Stack 로 선언하여 사용할 수 있다. 원하는 자료형을 넣어 스택에 넣고(push) 빼는 과정(Pop)을 통해 원하는 동작을 할 수 있다. 스택 ..
2024.04.29 -
C# StreamReader ,StreamWriter, 파일 읽기, 쓰기
파일 읽기, 쓰기를 할 수있도록 도와주는 C# StreamReader, StreamWriter에 대해서 공부해보았다. 알게 된 계기가 TextRPG프로젝트를 진행하면서 프로그램이 종료가 되어도 데이터를 저장하거나 불러올 수 있는 로직을 구현해야 했다. 몇가지의 인스턴스들의 데이터들을 간단하게 텍스트 파일로 저장하고 불러오기 위해서 공부했다. 목차StreamReaderStreamWriter실제 게임에 적용한 부분StreamReader와 StreamWriterC#에서 파일을 읽고 쓰기 위한 스트림이다. System.io를 사용해야한다.클래스로 구현되어있고 다양한 메서드들을 C#에서 제공하여 파일을 읽고 쓸 수 있다. StreamReader파일 읽기 생성할때도 클래스의 객체를 생성하듯이 생성해야한다. 생성자는..
2024.04.26 -
C# 상속과 다형성
목차상속이란?다형성이란?상속이란?상속은 객체 지향 프로그래밍의 기본적인 특성 중 하나이다. 부모 클래스의 동작을 다시 사용, 확장 또는 수정하는 자식 클래스를 정의할 수 있다. 멤버가 상속되는 클래스를 기본 클래스라고 합니다. 기본 클래스의 멤버를 상속하는 클래스를 파생 클래스라고 한다. 상속에도 여러가지 종류가있다.(다중상속, 단일사옥, 인터페이스 상속)주의할 점은 C#에서는 하나의 클래스가 단일 클래스에서만 상속할 수 있다는 점이다. 그러니깐 부모가 가지고있는 여러 데이터(멤버변수)와 동작(멤버함수)를 자식이 그대로 사용할 수 있으며 여기서 더나아가 자식만의 특색을 가지게 확장을하여 파생 클래스를 만드는것이다. class Animal{ public int age,n..
2024.04.24 -
C# Ref 와 Out 키워드
오늘 C#강의를 들으면서 처음 접해본 키워드였다. 간단하게 정리하자면 두 키워드 모두 데이터(변수)를 메소드에 전달하는데 사용하는 키워드인데 차이점이 존재한다. Ref 키워드는 단방향 전달로 메소드 내에서 기존 데이터를 수정해야할때 사용한다. Out 키워드는 양방향 전달로 메소드 내에서 전달할 변수를 초기화 할 때 주로 사용한다. 목차 Ref 키워드란? Out 키워드란? 두 키워드의 차이점 마무리 Ref 키워드란? Ref 키워드를 반드시 매개변수에 붙혀야하고, 호출시에도 Ref키워드를 붙혀야한다. 참조에 의한 값 전달(call by reference)에 의해 주소가 전달되어(원본) 값을 변형하게 된다면 원본 값이 바뀌는 것이라 선언하고 호출했던 Main()메서드에서의 값도 바뀐다. 매개변수로 전달하기 전..
2024.04.23