본문 바로가기

전체 글52

[C#] 파일 입출력과 스트림 파일 입출력은 데이터의 저장과 관리를 위한 핵심 기술이며, C#에서는 다양한 클래스와 메서드를 통해 이를 쉽게 구현할 수 있습니다. 이 글에서는 파일 읽기와 쓰기, 그리고 StreamReader와 StreamWriter의 사용법을 설명하고, 심화된 내용으로 스트림의 원리와 활용을 소개합니다.1. 파일 읽기와 쓰기C#의 File 클래스는 파일 입출력을 간단히 처리할 수 있는 정적 메서드를 제공합니다.파일 쓰기File.WriteAllText: 문자열 데이터를 파일에 저장합니다. using System;using System.IO; // File 클래스 사용을 위해 필요class Program{ static void Main() { string filePath = "example.txt.. 2024. 11. 20.
[C#] 비동기 프로그래밍 비동기 프로그래밍은 시간 소모적인 작업이 프로그램의 흐름을 방해하지 않도록 하여, 더 빠르고 반응성이 좋은 애플리케이션을 만드는 데 필수적인 기법입니다. 1. 비동기의 필요성과 개념비동기 프로그래밍이란?비동기 프로그래밍은 시간이 오래 걸리는 작업(예: 파일 입출력, 네트워크 요청, 데이터베이스 쿼리 등)을 별도로 처리하고, 나머지 작업은 계속 진행하도록 만드는 프로그래밍 방식입니다. 주요 목표는 애플리케이션의 반응성을 유지하고, 리소스 낭비를 줄이는 것입니다.비동기의 필요성UI 애플리케이션의 반응성 유지예를 들어, 버튼 클릭 시 긴 작업이 진행되는 동안 UI가 멈추는 대신, 사용자는 여전히 애플리케이션과 상호작용할 수 있어야 합니다.효율적인 리소스 사용CPU가 다른 작업을 처리할 수 있도록 대기 시간이 .. 2024. 11. 19.
[C#] LINQ (Language Integrated Query) LINQ는 C# 코드에서 데이터 소스(SQL 데이터베이스, 컬렉션, XML 등)를 일관성 있게 쿼리할 수 있도록 해주는 도구입니다. 이 글에서는 LINQ의 소개와 필요성, LINQ를 사용한 데이터 질의, IEnumerable과 IQueryable 인터페이스를 다룹니다. 1. LINQ의 소개와 필요성LINQ란 무엇인가?LINQ는 Language Integrated Query의 약자로, C#에서 데이터 소스를 쿼리하는 기능을 제공합니다. LINQ는 다양한 데이터 소스에 대해 일관된 문법으로 데이터를 검색, 필터링, 변환할 수 있습니다. 대표적으로 다음과 같은 데이터 소스에서 사용됩니다:컬렉션 (예: List, Array)데이터베이스 (LINQ to SQL, Entity Framework)XML 문서 (LIN.. 2024. 11. 18.
[C#] 델리게이트와 이벤트 델리게이트는 메서드를 가리키는 참조형 변수로, 코드의 유연성과 확장성을 높이는 데 유용합니다. 이벤트는 델리게이트를 기반으로 구현되어 객체 간의 상호작용을 간단하고 안전하게 처리할 수 있게 합니다. 이번 글에서는 델리게이트의 개념과 사용법, 익명 메서드와 람다 표현식, 이벤트의 선언과 구독을 다룹니다.  1. 델리게이트의 개념과 사용법**델리게이트(Delegate)**는 메서드 참조를 저장할 수 있는 타입입니다. 이를 사용하면 메서드를 변수처럼 전달하거나 실행할 수 있습니다. 델리게이트는 함수 포인터와 비슷하지만, C#에서는 타입 안전성과 객체 지향의 특성을 유지합니다.델리게이트 선언, 초기화, 호출using System;// 델리게이트 선언: 반환형과 매개변수가 일치해야 함delegate void Gr.. 2024. 11. 17.
[C#] 예외 처리 프로그램 실행 중 예상치 못한 오류가 발생했을 때, 이를 처리하지 않으면 프로그램이 중단될 수 있습니다. 예외 처리는 이러한 상황에서 프로그램의 안정성을 유지하고, 적절한 대처를 할 수 있도록 돕는 기법입니다. 예외의 개념과 중요성, try-catch-finally 구문, throw 키워드로 예외 발생시키기, 사용자 정의 예외 클래스 만들기를 다룹니다.예외의 개념과 중요성**예외(Exception)**란 프로그램 실행 중 발생하는 예기치 않은 상황(오류)입니다. 예를 들어, 배열의 범위를 벗어난 접근, null 참조, 파일 읽기 실패 등이 예외에 해당합니다. 이러한 오류를 처리하지 않으면 프로그램이 중단될 수 있으므로, 예외 처리를 통해 오류를 관리하고 프로그램을 안정적으로 실행할 수 있도록 해야 합니다.. 2024. 11. 16.
[C#] 상속과 다형성 상속을 통해 코드를 재사용하고, 다형성을 통해 유연하고 확장 가능한 구조를 만들 수 있습니다. 이 글에서는 상속의 개념과 구현 방법, 메서드 오버라이딩과 new 키워드, 추상 클래스와 인터페이스, 다형성의 활용을 자세히 설명합니다.  상속의 개념과 구현 방법**상속(Inheritance)**은 기존 클래스의 속성과 메서드를 새 클래스에서 재사용할 수 있는 기능입니다. 상속을 통해 부모 클래스의 기능을 확장하거나 새로운 기능을 추가할 수 있습니다. 부모 클래스는 기본 클래스(Base Class), 자식 클래스는 **파생 클래스(Derived Class)**라고도 합니다.상속 구현 예제using System;class Animal // 부모 클래스{ public string Name { get; set.. 2024. 11. 14.
객체 지향 프로그래밍 이번 글에서는 C#의 **객체 지향 프로그래밍(Object-Oriented Programming, OOP)**의 기본 개념을 다룹니다. 객체 지향 프로그래밍은 C#의 핵심 개념으로, 프로그램을 구성할 때 클래스와 객체를 사용해 코드의 구조를 정의하고 데이터를 관리합니다. 이 글에서는 클래스와 객체, 속성(Property)과 메서드(Method), 접근 제한자, 생성자와 소멸자에 대해 자세히 설명합니다. 클래스와 객체의 개념클래스는 객체의 설계도와 같은 역할을 하는 데이터 구조로, 속성과 메서드(기능)를 정의합니다. 객체는 클래스를 기반으로 생성된 실체로, 메모리에 할당된 후 프로그램에서 실제로 사용됩니다.클래스와 객체 예제using System;class Person // Person이라는 클래스를 정의.. 2024. 11. 13.
[C#] 배열과 컬렉션 C#에서는 배열과 컬렉션을 사용하여  데이터를 저장하고 관리 합니다.  배열은 동일한 데이터 타입의 여러 값을 하나의 변수로 저장할 수 있는 자료 구조이며, 컬렉션 클래스는 데이터의 저장과 관리를 더욱 유연하게 할 수 있도록 도와줍니다.  배열의 선언과 사용, List와 Dictionary 등 컬렉션 클래스, 컬렉션 초기화와 열거에 대해 정리한 글입니다.배열의 선언과 사용배열은 동일한 데이터 타입의 데이터를 연속된 메모리 공간에 저장하는 자료 구조입니다. 배열의 크기는 선언할 때 고정되며, 이후에는 크기를 변경할 수 없습니다.배열 선언과 초기화배열은 다음과 같이 선언하고 사용할 수 있습니다.using System;class Program{ static void Main() { //.. 2024. 11. 12.
메서드와 함수 메서드는 프로그램의 기능을 구성하는 핵심 요소로, 코드를 재사용하고 구조화하는 데 매우 유용합니다. 이 글에서는 메서드 선언과 호출, 매개변수 전달 방식, 메서드 오버로딩, 재귀에 대해 자세히 살펴보겠습니다.메서드 선언과 호출메서드는 특정 작업을 수행하는 코드 블록으로, 반환 타입, 메서드 이름, 매개변수 목록으로 구성됩니다. 메서드는 호출되었을 때 실행되며, 결과를 반환할 수도 있습니다.메서드 선언 형식반환타입 메서드이름(매개변수 목록){ // 메서드 내부 코드 return 값; // 반환타입이 있을 경우 반환}메서드 선언과 호출 예제using System;class Program{ // 두 수를 더하는 메서드 선언 static int Add(int x, int y) // int .. 2024. 11. 11.
[C#] 제어문 ( 조건문 / 반복문 / jump 문 / if / switch /for, while, do-while, foreach / break, continue, return ) 제어문은 코드의 흐름을 조절하는 역할을 합니다. 오늘은 조건문, 반복문, 그리고 jump 문에 대해 살펴보고, 각각의 사용 방법을 예제 코드로 공부해 봤습니다. 조건문if, else if, else조건문은 특정 조건을 기반으로 코드의 실행 여부를 결정할 때 사용됩니다. if, else if, else는 조건에 따라 분기하여 다른 결과를 얻을 수 있게 합니다.int score = 85;string result;// 여러 조건을 조합하여 등급과 통과 여부를 결정합니다.if (score >= 90){ result = "A 등급";}else if (score >= 80 && score = 70){ result = "C 등급";}else{ result = "F 등급";}// 등급과 추가 조건을 이.. 2024. 11. 10.
[C#] 연산자와 표현식 이번 글에서는 C#에서 사용할 수 있는 다양한 연산자와 표현식에 대해 알아보겠습니다. 산술 연산자, 비교 연산자, 논리 연산자, 그리고 연산자 우선순위와 문자열 연결 및 보간 방법까지 살펴봅니다. 연산자는 프로그램에서 값을 계산하고 비교하며 논리적인 조건을 평가하는 데 매우 중요한 역할을 합니다.1. 산술 연산자산술 연산자는 수학적인 계산을 수행하는 데 사용됩니다. 대표적인 산술 연산자에는 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 등이 있습니다.연산자설명예시+덧셈a + b-뺄셈a - b*곱셈a * b/나눗셈a / b%나머지 계산a % b산술 연산자 예제 int a = 10;int b = 3;// 덧셈int sum = a + b; // 10 + 3 = 13Console.WriteLine($"덧셈 결과: {su.. 2024. 11. 9.
[C#] 기본 문법과 데이터 타입 1. 변수 선언과 초기화C#에서는 변수를 선언할 때 데이터 타입을 명시해주어야 합니다. 변수를 선언하면서 초기값을 할당할 수도 있으며, 나중에 값을 할당할 수도 있습니다.변수 선언 예제// 정수형 변수 선언과 초기화int age = 25; // 나이를 나타내는 정수형 변수, 값으로 25를 할당// 실수형 변수 선언과 초기화double height = 175.5; // 키를 나타내는 실수형 변수, 값으로 175.5를 할당// 문자열 변수 선언과 초기화string name = "홍길동"; // 이름을 나타내는 문자열 변수, 값으로 "홍길동"을 할당// 부울형 변수 선언과 초기화bool isStudent = true; // 학생 여부를 나타내는 부울형 변수, 값으로 true를 할당변수 선언 후 값 할당 2. .. 2024. 11. 8.
728x90
반응형