입력과 출력(Input & Output) C#에서는 Console 클래스를 사용하여 입력받고 출력을 할 수 있다 ⚔ 입력과 출력 Console.ReadLine()을 사용하면 string으로 받기 때문에 int로 형변환을 해야 한다. string에서 int로 형변환
⚔ for문⚔ while문⚔ do-while문⚔ 배열 원소의 합계 & 평균for (int i = 0; i < a.Length; i++) { sum += ai;}average = sum / a.Length;Console.WriteLine($"Sum: {sum}
자동완성 클래스, 메서드, 변수 등 이름의 일부를 입력하고 [ Tab ]을 눌러 자동 완성 할 수 있다. IntelliSense [ Tab ] + [ Space ]를 눌러 IntelliSense를 호출하면, 해당 메서드나 변수에 대한 정보와 예제를 볼 수 있다. 코
전체 소스 코드를 한 번에 번역해서 기계어(실행 파일)로 변경하는 프로그램컴파일러의 동작소스코드(.cs) -> 컴파일 -> 실행파일(.exe) -> 실행소스 코드를 한 줄씩 읽고 해석해 바로 실행하는 프로그램인터프리터의 동작소스코드 -> 실시간 기계어로 해석(실행파일
문자열에서 특수한 문자를 포함시키기 위해 사용되는 특별한 문자 조합이다.⚔ 이스케이프 시퀀스\\b를 사용하면 다음 그림처럼 문자를 지운다\\r를 사용하면 다음 그림처럼 커서를 맨 앞으로 옮겨서 \\r 뒤에 글로 덮어쓴다.
세분화된 자료형을 사용하면, 해당 자료형이 필요한 크기만큼의 메모리를 할당하여 메모리의 효율적인 사용이 가능하다.세분화된 자료형을 사용하면, 데이터의 특성에 따라 정확한 표현이 가능합니다. 예를 들어, 부동소수점 자료형인 float과 double은 소수점 이하 자릿수가
문자열 처리 1. 문자열 생성 2. 연결 3. 분할 4. 검색 5. 대체 6. 변환 string -> int int -> string int num2 = 123; string str8 = num2.tostring(); 7. 비교 // - 문자열 값 비교
🔥 switch문 여러 케이스에 동일한 결과
🔥 Char 문자 하나 입력 받기
🔥 배열과 리스트 배열 고정 크기라서 한 번 크기를 정하면 변경할 수 없다. 메모리에 연속으로 할당돼서 성능이 빠르다. 2차원, 3차원 배열도 가능하다. 요소 추가/삭제가 불편하다. 리스트 가변 크기라서 자유롭게 추가/삭제가 가능하다. 제네릭으로 구
객체 지향 프로그래밍은 코드 내의 모든 것을 객체(Object)로 표현하고자 하는 프로그래밍 패러다임이다.캡슐화관련된 데이터와 기능을 하나의 단위로 묶는 것을 의미한다.클래스를 사용하여 데이터와 해당 데이터로 조작하는 메서드와 함께 캡슐화하여 정보를 은닉하고, 외부에서
참고 영상: https://www.youtube.com/watch?v=G3Edvvp_YpA&list=PLVsNizTWUw7GN8wPRhclbKuQa9aI9Cj2V&index=12 🔥 일반화 프로그래밍(Generic Programming) 데이터 타입에 관계없이 재사
참고 영상: https://www.youtube.com/watch?v=G3Edvvp_YpA&list=PLVsNizTWUw7GN8wPRhclbKuQa9aI9Cj2V&index=12형식 매개 변수가 특정 조건을 갖추도록 강제하는 기능문법: “where 형식매개변수
다중 상속을 허용하면 한 클래스가 두 개 이상의 부모 클래스로부터 동일한 멤버를 상속받을 수 있다. 이 경우, 같은 이름의 멤버를 가지고 있을 때 어떤 부모 클래스의 멤버를 사용해야 하는 지 모호해진다.클래스 간의 관계가 복잡해져서 관계를 파악하기 어려워지고 코드의 유
값 형식은 변수에 값을 직접 저장합니다. 메모리의 스택에 할당된다.변수가 실제 데이터를 보유하고 있으며, 해당 변수를 다른 변수에 할당하거나 전달할 때는 값이 복사된다.값 형식 변수의 수정은 해당 변수의 값만 변경하므로 다른 변수에 영향을 주지 않습니다.int, flo
### 1) 델리게이트란 * 델리게이트는 메서드를 참조하는 타입이다. * 다른 프로그래밍 언어에서는 함수 포인터라는 용어를 사용하기도 한다.(함수 포인터와 동일한 개념은 아님) * 델리게이트를 이용하면 메서드를 매개변수로 전달하거나 변수에 할당할 수 있다. * 특정 시
Func와 Action Func와 Action은 델리게이트를 대체하는 미리 정의된 제네릭 형식이다. Func는 값을 반환하는 메서드를 나타내는 델리게이트로 마지막 제네릭 형식 매개변수는 반환 타입을 나타낸다. ex) Func은 int를 입력 받아 string을 반환하
참고 서적 : 이것이 CC닷넷 언어의 컴파일된 소스들은 CLR 이라는 환경에서 실행된다.즉, 소스코드를 컴파일하면 닷넷 어셈블리가 되는데, 이 어셈블리가 CLR 위에서 동작한다.VS 2022에서는 C사용자가 컴파일된 중간 언어인 .exe를 실행하면 CLR이 메모리에 로
참고 서적 : 이것이 C #이다 데이터 형식 바꾸기 1) 크기가 서로 다른 정수형식 사이의 변환 큰 정수 형식 변수에서 작은 정수 형식 변수로 옮길 때 오버플로가 발생한다.
참고 서적: 이것이 C#이다 🔥 상수와 열거 형식 변수와 달리 안에 담긴 데이터를 절대 바꿀 수 없는 메모리 공간.상수가 있는 이유 "값을 바꾸면 안 되는 변수"를 변형하는 실수를 막기 위해서 만들어진
참고 서적: \[이것이 Cint 형식의 변수를 선언하면 4 바이트 메모리가 할당된다.C하지만 어떤 값도 가지지 않는 변수가 필요할 때가 있다. (0이 아닌 null)그때 사용하는게 Nullable 형식이다.사용법값 형식에서만 사용 가능하다.null을 포함한 아무 값도
참고 서적: 이것이 C# 이다(저자: 박상현) 🔥 var 형식 C#은 변수나 상수에 대해 철저하게 형식 검사를 하면서 컴파일 단계에서 프로그래머의 실수를 줄여주는 강력한 형식의 언어다. 하지만 var 키워드를 통해 약한 형식검사를 지원하기도 한다. var 키워드를 사용하면 컴파일러나 인터프리터가 해당 변수에 담는 데이터를 보고 자동으로 형식을 지정한...
메서드를 호출하면, 그 작업이 끝날 때까지 다음 코드가 실행되지 않는다.작업이 순차적으로 실행된다.하나의 작업이 완료되어야 다음 작업이 시작된다.PlayOneShot()이 끝나야 GoBack()이 실행된다.메서드를 호출하면, 기다리지 않고 바로 다음 코드를 실행한다.작
참고 영상 : \[C기존 클래스의 기능을 확장하기 위해서 보통 상속을 이용한다.일부 특별한 상황일 때 상속이 좋은 조건이 아닐 수도 있다.그때 대신 사용할 수 있는 것이 확장 메서드다.ex) String 클래스 처럼 \*sealed classsealed 키워드를 사용한
참고 영상 : 콜백 목적 피호출자가 호출자를 호출하는 것 시스템에서 특정 시점에 알림을 주는 것 콜백 구현의 필요성 : 주기 확인 vs 콜백(CallBack)
참고 사이트 : https://learn.microsoft.com/ko-kr/dotnet/standard/garbage-collection/fundamentalsCGC는 메모리 할당 및 해제를 관리해서 -> 개발자는 메모리 관리 작업을 위해 따로 코드를 작성할
참고 사이트 : https://learn.microsoft.com/ko-kr/dotnet/standard/garbage-collection/fundamentals\*관리되는 힙(Managed Heap)에 참조 타입(객체 등)이 순차적으로 할당된다.힙에 객체를
참고 사이트 : https://learn.microsoft.com/ko-kr/dotnet/standard/garbage-collection/fundamentalsGC(가비지 컬렉션)는 힙을 3개의 세대로 나눈다.새 객체, 수명이 짧은 객체. 임시 변수 등이 포
참고 영상 : 리플렉션런타임에 프로그램의 메타데이터를 조회하거나 조작하는 기능이다.System.Object는 형식 정보를 반환하는 GetType() 메서드를 갖고있다. (즉, 모든 데이터가 해당 메서드를 갖는다.)특성은 코드에 메타데이터를 추가하는 방법으로,클래스, 속
연산자 오버로딩 사용자 정의 형식이 미리 정의된 C# 연산자 `(+, -, *, /, ...)`의 동작을 직접 지정할 수 있는 기능이다. 분수의 덧셈같은 것을 구현할 때 사용한다
패턴 매칭 패턴 매칭은 값의 구조, 타입, 조건 등을 검사하고, 일치하는 경우 작업 수행을 보다 간결하고 안전하게 처리할 수 있는 구문을 제공한다.
공변성 공변성(covariance)는 하위 클래스의 참조를 상위 클래스의 참조로 암시적으로 변환 시키는 것이다. `out` 키워드를 사용하여 직접 공변 인터페이스 혹은 대리자를 정의할 수 있다.
LINQ LINQ(Language-Integrated Query)란 C#에 쿼리 기능을 통합한 기술로, 데이터 원본(SQL, XML, 컬렉션 등)에 관계 없이 일관된 구문으로 쿼리를 작성할 수 있게 해준다. 쿼리문은 강한 형식으로 컴파일 시점에 형식 검사가 가능
쿼리 작업의 세 부분 모든 LINQ의 쿼리 작업은 다음과 같은 작업으로 구성된다. 1. 데이터 원본 가져오기 int[] numbers = [0, 1, 2, 3];
Unix Timestamp는 1970년 1월 1일 00:00:00 (UTC) 기준으로 지금까지 경과한 시간을 숫자로 표현한 값이다.현재 시간(DeteTimeOffset) -> Unix Timestamp(초)Unix Timestamp(초) -> DateTime