본문 바로가기

전체 글133

250224 TIL - MVC 패턴 MVC 패턴프로그래밍 디자인 패턴의 일종으로, 애플리케이션을 모델, 뷰, 컨트롤러의 세 컴포넌트로 구분해 구현하고 관리하는 것 모델 Model"플레이어의 HP 데이터를 보관하는 모듈"데이터 자체 그 이상 그 이하도 아님다른 두 컴포넌트와 직접적으로 관계 맺지 않음 (= 모델에는 뷰나 컨트롤러와 관련된 코드가 있어선 안 됨)대신 이벤트 등을 통해 느슨하게 연결돼있음 (모델의 데이터가 변경되는 이벤트 발생 -> 뷰에서 리스너가 감지)뷰 View"플레이어의 스테이터스 UI를 담당하는 모듈"데이터를 사용자에게 보여주는 것 그 이상 그 이하도 아님 다른 두 컴포넌트와 직접적으로 관계 맺지 않음 (= 뷰에는 모델이나 컨트롤러와 관련된 코드가 있어선 안 됨)컨트롤러 Controller "사용자의 스텟 포인트 분배에 .. 2025. 2. 24.
250213 TIL - 자료구조 (그래프, 트리) 그래프 Graph"정점들과 그 정점들을 연결하는 간선들로 이뤄진 자료 구조"정점 Node, Vertex 연결된 개체 하나하나간선 Edge정점들을 이어주는 선 (정점 간의 관계를 표현해줌)차수 Degree하나의 정점에 연결된 간선 개수경로 Path하나의 정점에서 다른 정점으로 갈 때 거치게 되는 간선과 정점들의 집합방향성 Directed, Undirected간선의 연결이 단방향인지, 양방향인지순환성 Cyclic, Acyclic모든 간선을 한번씩만 지나며 모든 정점을 순회할 수 있는지, 순회할 수 없는지곁들이는 용어이외에도 모든 정점을 순회하는 경로인 Cycle, 노드가 본인에게 간선을 연결하는 Self-Loop 등이 있슴다!!트리 Tree"부모-자식 관계로 계층화된 노드들과 그 노드들을 연결하는 간선들로 .. 2025. 2. 13.
C# 기본기 05 - 인터페이스와 열거형(Enums) 인터페이스 Interface클래스가 구현해야 할 멤버들을 정의해줌 (딱 선언까지만 해줌)인터페이스를 상속받는 클래스는 인터페이스에 정의된 모든 멤버를 구현해야 함!! (일종의 클래스 제약조건처럼 작동)인터페이스는 여러 클래스에 다중 상속이 가능/* 아이템 사용 로직에 활용할 인터페이스 */public interface IUsable{ void Use(); // Use 메서드 정의}/* 인터페이스 상속 - 아이템 클래스 */public class Item : IUsable{ public string Name { get; set; } public void Use() // 상속받은 Use 메서드 구현 { Console.WriteLine("아이템 {0}을 사용했습니다.", N.. 2025. 2. 10.
C# 기본기 04 - 클래스, 상속, 제너릭 클래스struct와 class 비교둘 모두 사용자 정의 자료형을 만들기 위한 녀석들이지만, 분명한 차이가 있으니 사용에 주의해야함 구조체 struct클래스 class보관되는 곳스택 영역힙 영역할당 방식값 저장참조 저장복사 방식개별 복사 (복사 값 수정해도 기존 값 영향 X)참조 복사 (복사 값 수정 시 기존 값도 변경 O)상속 여부불가능가능클래스의 접근 제한자class Person{ /* 필드 */ public string Name; // 외부에서 자유롭게 접근 가능 private int Age; // 같은 클래스 내부에서만 접근 가능 protected string Address; // 같은 클래스 내부와 상속받은 클래스에서만 접근 가능 /* .. 2025. 2. 10.
C# 기본기 03 - 메서드와 구조체 메서드[접근 제한자] [반환 타입] [메서드 이름]([매개변수]){ // 메서드 실행 코드}접근 제한자 Access Modifier메서드에 접근할 수 있는 범위, public, private, protected 등등을 활용반환 타입 Return Type메서드 반환 값의 자료 타입 지정, 반환 값이 없는 메서드인 경우 void/* 반환 값이 없는 경우 */void PrintFullName(string firstName, string lastName){ Console.WriteLine("Full Name: " + firstName + " " + lastName);}PrintFullName("John", "Doe");/* 반환 값이 있는 경우 */int AddNumbers(int a, int b){.. 2025. 2. 10.
C# 기본기 02 - 배열과 콜렉션 배열 Array 동일한 자료형의 값들이 연속적으로 저장되는 자료 구조 1) 일차원 배열/* 데이터타입[] 배열명 = new 데이터타입[배열크기] */int[] array1 = new int[5]; // 크기가 5인 int형 배열 선언string[] array2 = new string[3]; // 크기가 3인 string형 배열 선언/* 바로 값 넣으며 생성 */in[] array3 = { 1, 2, 3, 4 };// 배열 초기화array1[0] = 1;array1[1] = 2;array1[2] = 3;array1[3] = 4;array1[4] = 5;// array1 = [1,2,3,4,5];int num = 0;num = array1[0]; // 1배열의 길이는 Length2) 다차원 배열/.. 2025. 2. 10.