[TypeScript] 등장
# 자바스크립트(Javascript) JavaScript는 원래 웹 페이지에 동적인 효과를 주기 위해 만들어진 스크립트 언어이다. 시간이 지나면서 웹 브라우저 내에서 실행되는 JavaScript의 성능을 높이고자 구글에서 V8 엔진(구글 크롬 브라우저에 내장) 이라는 것을 만들었다. 이것에 그치지 않고 V8 엔진의 기반으로 Node.js라는 플...
# 자바스크립트(Javascript) JavaScript는 원래 웹 페이지에 동적인 효과를 주기 위해 만들어진 스크립트 언어이다. 시간이 지나면서 웹 브라우저 내에서 실행되는 JavaScript의 성능을 높이고자 구글에서 V8 엔진(구글 크롬 브라우저에 내장) 이라는 것을 만들었다. 이것에 그치지 않고 V8 엔진의 기반으로 Node.js라는 플...
동적 / 그리디 / 분할 동적 프로그래밍 ( Dynamic Programming ) 동적 프로그래밍은 큰 문제를 작은 하위 문제로 분할하여 푸는 접근 방식이다. 작은 하위 문제의 해결 방법을 계산하여 저장하고, 이를 이용하여 큰 문제의 해결 방법을 도출하다. 이러한 저장 과정을 “메모이제이션(Memoization)“이라고 하다. 동...
탐색 알고리즘 탐색 알고리즘 탐색 알고리즘은 주어진 데이터 집합에서 특정 항목을 찾는 방법 선형 탐색 ( Linear Search ) 선형 탐색은 가장 단순한 탐색 알고리즘이다. 배열의 각 요소를 하나씩 차례대로 검사하여 원하는 항목을 찾는다. 시간 복잡도: 최악의 경우 O(n) 배열의 처음부터 끝까지 하나씩 비교하여 검색하는 알...
정렬 알고리즘 주어진 데이터 세트를 특정 순서(대개는 숫자의 오름차순 또는 내림차순, 문자열의 사전식 순서)로 배열하는 방법을 제공. 선택 정렬 ( Selection Sort ) 선택 정렬은 배열에서 최소값(또는 최대값)을 찾아 맨 앞(또는 맨 뒤)와 교환하는 방법. 시간 복잡도: 최악의 경우와 평균적인 경우 모두 O(n^2)...
Nullable Nullable은 C#에서 null 값을 가질 수 있는 값형에 대한 특별한 형식이며 값형은 기본적으로 null을 허용하지 않습니다. 값형 변수에 null 값을 지정할 수 있는 방법을 제공하여 값형이나 구조체를 사용하는 프로그램에서 null 상태를 나타낼 수 있습니다. 주로 값형 변수가 null인지 아닌지를 확인하고 처리해...
LINQ (Language Integrated Query) .NET 프레임워크에서 제공되는 쿼리 언어 확장 데이터 소스(예: 컬렉션, 데이터베이스, XML 문서 등)에서 데이터를 쿼리하고 조작하는데 사용(데이터베이스 쿼리와 유사한 방식으로 데이터를 필터링, 정렬, 그룹화, 조인 등 다양한 작업을 수행) LINQ는 객체, 데이터베이스,...
Func과 Action Func과 Action은 델리게이트를 대체하는 미리 정의된 제네릭 형식이다. Func 및 Action은 제네릭 형식으로 미리 정의되어 있어 매개변수와 반환 타입을 간결하게 표현할 수 있다. Func Func는 값을 반환하는 메서드를 나타내는 델리게이트이다. 마지막 제네릭 형식 매개변수는 반환 타입을 나타...
람다 (Lambda) 람다(lambda)는 익명 메서드를 만드는 방법이며 즉 메서드의 이름 없이 메서드를 만들 수 있다. 람다는 델리게이트를 사용하여 변수에 할당하거나, 메서드의 매개변수로 전달할 수 있다. Calculate calc = (x, y) => { return x + y; }; Calculate calc = ...
델리게이트 델리게이트(delegate)는 메서드를 참조하는 타입입니다. (다른 프로그래밍 언어에서는 함수 포인터라고도 한다) 델리게이트를 이용하면 메서드를 매개변수로 전달하거나 변수에 할당할 수 있다. 기본 코드 메서드 등록 및 사용 delegate int Calculate(int x, int y); static i...
박싱과 언박싱 값형과 참조형 사이의 변환을 의미한다. 박싱(Boxing) 박싱은 값형을 참조형으로 변환하는 과정을 말한다. 값형 변수의 값을 메모리의 힙 영역에 할당된 객체로 래핑한다. 박싱을 통해 값형이 참조형의 특징을 갖게 되며, 참조형 변수로 다뤄질 수 있다. 박싱된 값형은 참조로 전달되므로 메모리 오버헤드가 발생할 수 있다...
값형과 참조형 C#에서 변수가 데이터를 저장하는 방식을 나타낸다. 값형(Value Type) 값형은 변수에 값을 직접 저장하며, 변수가 실제 데이터를 보유하고 있으며, 해당 변수를 다른 변수에 할당하거나 전달할 때는 값이 복사된다. 값형 변수의 수정은 해당 변수의 값만 변경하므로 다른 변수에 영향을 주지 않는다. int, float...
열거형 열거형은 서로 관련된 상수들의 집합을 정의할 때 사용 열거형의 각 상수는 정수 값으로 지정 enum MyEnum { Value1 = 10, Value2, Value3 = 20 } int intValue = (int)MyEnum.Value1; // 열거형 값을 정수로 변환 MyEnum enumValue =...
인터페이스(Interface) 사용 이유 코드의 재사용성: 인터페이스를 사용하면 다른 클래스에서 해당 인터페이스를 구현하여 동일한 기능을 공유할 수 있다. 인터페이스를 통해 다양한 클래스가 동일한 동작을 수행할 수 있으므로 코드의 재사용성이 향상된다. 다중 상속 제공: C#에서는 클래스는 단일 상속만을 지원하지...
재네릭 / out,ref 키워드 재네릭 제너릭은 클래스나 메서드를 일반화시켜 다양한 자료형에 대응할 수 있는 기능이다. 제너릭을 사용하면 코드의 재사용성을 높일 수 있다. C#에서는 <T> 형태의 키워드를 이용하여 제너릭을 선언한다. 제너릭 클래스나 메서드에서 사용할 자료형은 선언 시점이 아닌 사용 시점에 결정된다. ...
상속과 다형성 상속 상속의 개념: 상속은 기존의 클래스(부모 클래스 또는 상위 클래스)를 확장하거나 재사용하여 새로운 클래스(자식 클래스 또는 하위 클래스)를 생성하는 것. 자식 클래스는 부모 클래스의 멤버(필드, 메서드, 프로퍼티 등)를 상속받아 사용할 수 있다. 상속을 통해 부모 클래스의 기능을...
클래스와 객체 클래스 객체를 생성하기 위한 템플릿 또는 설계도 역할을 하며 속성(필드)과 동작(메소드)을 가진다. Class 구조 class Player { public string Name; public int atk; public int def; public void PrintInfo() { Co...
메서드와 구조체 메서드 메서드(Method)는 일련의 코드 블록으로, 특정한 작업을 수행하기 위해 사용되는 독립적인 기능 단위이며, 코드의 재사용성과 모듈화를 위해 사용되며, 필요할 때 호출하여 실행된다. 메서드의 역할과 중요성 코드의 재사용성: 메서드를 사용하면 동일한 작업을 반복해서 구현하지 않아도 됩니다. ...
배열과 컬렉션 배열 동일한 자료형의 값들이 연속적으로 저장되는 자료 구조 // 배열 선언 데이터_유형[] 배열_이름; // 배열 초기화 배열_이름 = new 데이터_유형[크기]; // 배열을 한 줄로 선언 및 초기화 데이터_유형[] 배열_이름 = new 데이터_유형[크기]; // 배열 요소에 접근 배열_이름[인덱스] = 값; 값 = 배열...
조건문 반복문 조건문 if문 if 문은 조건식의 결과에 따라 실행 여부를 결정하는 조건문. ```c# // 실행할 코드가 여러줄인 경우 if (조건식) { // 조건식이 참일 경우 실행할 코드 } // 실행할 코드가 한줄인 경우 if (조건식) // 조건식이 참일 경우 실행할 코드...
연산자 산술 연산자 연산자 설명 == 같음 != 다름 > 큼 < 작음 >= 크거나 같...