728x90

C# 67

SOLID원칙

팀원분들과 얘기하다가 디자인패턴 중, SOLID원칙에 대해 알게되었다. SOLID 원칙이란?5가지 객체지향 설계 원칙의 앞 글자를 따서 만든 말이다.객체지향 프로그래밍(OOP)에서 유지보수성과 확장성을 높이기 위한 디자인 원칙원칙이름핵심 개념설명S: SRP단일 책임 원칙클래스는 하나의 책임만 가져야 함O: OCP개방-폐쇄 원칙확장에는 열려 있고, 수정에는 닫혀 있어야 함L: LSP리스코프 치환 원칙자식 클래스는 부모 클래스를 대체할 수 있어야 함I: ISP인터페이스 분리 원칙사용하지 않는 기능에 의존하지 않도록 인터페이스는 작게 나눠야 함D: DIP의존성 역전 원칙고수준 모듈은 저수준 모듈에 의존하지 않고, 추상화에 의존해야 함 SRP (Single Responsibility Principle)한 클래스..

C#/기초 2025.04.13

[C#] LinkedList, HashSet, Dictionary

기본 개념리스트(List)는 동적 크기 조정이 가능하고 사용하기 편리하지만, 특정 상황에서는 더 나은 대안이 있다. LinkedList – 노드 기반 연결 리스트🏷 LinkedList는 연결 리스트(Linked List) 구조로 중간 삽입/삭제가 빈번할 때 리스트보다 더 효율적 📌 언제 LinkedList가 좋은가?삽입/삭제가 빈번할 때 → List는 중간 삽입/삭제 시 요소들을 이동해야 하지만, LinkedList는 빠름순차 접근보다는 노드 이동이 중요할 때 → List는 O(1) 랜덤 접근이 가능하지만, LinkedList는 O(n)예제 코드: LinkedList 사용LinkedList linkedList = new LinkedList();linkedList.AddLast(1);linkedList..

C# 2025.04.02

[C#] List<T> vs. 배열(T[]) 비교

기본 개념C#에서는 배열(T[])과 리스트(List) 두 가지 방식으로 데이터를 저장함.배열은 크기가 고정되어 있지만, 리스트는 크기를 동적으로 변경할 수 있다. 배열(T[])과 리스트(List)의 차이점특징T[] (배열)List (리스트)크기고정 크기 (생성 시 지정)동적 크기 조정 가능성능빠름 (연속된 메모리 사용)추가, 삭제 시 성능 저하 가능데이터 추가/삭제불가능 (새 배열 생성 필요)Add(), Remove()로 쉽게 가능메모리 사용배열 크기만큼 메모리 할당내부적으로 더 많은 메모리 할당 가능접근 속도빠름 (arr[i] 직접 접근)약간 느림 (list[i] 접근 가능하지만 추가 기능 있음)주요 메서드Length, Sort(), Copy(), Reverse()Add(), Remove(), Inse..

[C#] 배열 관련 메서드

기본개념C#에서는 배열을 다룰 때 Array 클래스의 메서드를 많이 사용함배열의 정렬, 복사, 검색 등을 쉽게 할 수 있도록 도와준다. 1. 배열 길이 구하기 → Length🏷 배열의 크기를 알고 싶을 때 사용int[] numbers = { 10, 20, 30, 40 };Console.WriteLine(numbers.Length); // 출력: 4📌 Length를 사용하면 배열 요소의 개수를 반환한다. 2. 배열 정렬 → Array.Sort()🏷 배열을 오름차순으로 정렬할 때 사용int[] arr = { 5, 2, 8, 1, 3 };Array.Sort(arr);foreach (int num in arr){ Console.Write(num + " "); // 출력: 1 2 3 5 8}📌 Sor..

[C#] 반복문을 활용한 배열접근

기본개념배열 요소를 하나씩 출력하고 싶다면 for문 또는 foreach문을 사용 for문 사용int[] numbers = { 10, 20, 30, 40, 50 };for (int i = 0; i  foreach문 사용int[] numbers = { 10, 20, 30, 40, 50 };foreach (int num in numbers){ Console.WriteLine(num);}foreach는 배열의 모든 요소를 순차적으로 가져올 때 편리하다. 📖 정리✔ arr[index] 형태로 배열 요소를 가져오거나 변경할 수 있음✔ 인덱스는 0부터 시작, 범위를 벗어나면 오류 발생✔ for 또는 foreach 문을 사용하면 배열의 모든 요소를 쉽게 접근 가능

[C#] 배열 요소 접근, 배열의 범위

기본개념배열에서 특정 위치(인덱스)에 있는 값을 가져오거나 변경할 때는 배열이름[인덱스] 형태로 접근한다. 배열 요소 접근 방법1️⃣ 배열에서 값 가져오기int[] numbers = { 10, 20, 30 };Console.WriteLine(numbers[0]); // 출력: 10📌 numbers[0] → 배열의 첫 번째 요소(10)를 가져옴 2️⃣ 배열 요소 변경하기numbers[1] = 50; Console.WriteLine(numbers[1]); // 출력: 50📌 numbers[1] = 50; → 두 번째 요소의 값을 50으로 변경 🚨 주의할 점 (IndexOutOfRangeException)배열 범위를 벗어난 인덱스를 사용하면 오류 발생int[] arr = { 1, 2, 3 }; // 배열..

728x90