문법의 끝은 ";"으로 끝낸다Write()는 줄바꿈 없으며 WriteLine()은 줄바꿈을 포함한 메소드이다Main method는 project당 1개만 선언 가능namespce.Class.method();System.Console.WriteLine();namespac
프로그램에서 사용할 데이터를 임시로 저장해 놓는 그릇Type name; 형태리터럴은 소스 코드의 고정된 값을 대표하는 용어거의 모든 프로그래밍 언어는 정수, 부동소수점 숫자, 문자열, 불린 자료형과 같은 용어를 가지고 있다정수형 변수 num을 선언한 후 값을 대입하고
sbyte, short, int, longint, long. double, float, decimal, ...정수형 타입 int의 최솟값과 최댓값sbyte, short, int, long의 MaxValue 출력byte, ushort, uint, ulongdouble :
문자형 변수는 2byte의 공간에 하나의 문자를 저장문자형 변수는 char 키워드를 사용하여 선언하고 값을 초기화할 때에는 두개의 작은 따옴표(')로 문자 하나를 묶어준다 문자열 변수는 string 키워드를 사용하여 선언하고 값을 초기화할 때에는 두개의 큰 따옴표(")
Console.ReadLine()으로 콘솔(터미널)로 부터 데이터 입력받기string 형태로 returnConsole.Read()로 콘솔로 부터 데이터 1개 입력받기int 형태로 return, 아스키코드의 정수형으로 반환이 된다Convert.ToChar(); metho
연산자, 데이터와 변수를 가지고 더하기(+), 빼기(-)와 같은 연산 작업을 수행식(Expression)3 + 5, 3 - 5 등 결과 값문(Statement)특정 명령을 통해서 출력을 하는 등, 실행문, ...문\+, \*\+, -, \*, /, %'+'를 사용하여
=, +=, -=, \*=, /=, %=\++, --증감 연산자는 전위에 있느냐 후위에 있느냐에 따라 연산 방향이 달라진다전위에 증감연산자가 붙으면 먼저 연산 후 대입후위에 증감연산자가 붙으면 대입 후 연산
&, |, ~, ^&, 둘 다 1일 때 1|, 둘 중 하나라도 1일 때 1~, 반대^, 서로 다를 때 1<<, >><<, 좌측 이동(값 증가), 우측 이동(값 감소)조건 연산자(3항연산자)-ConditionalOperator\*\*?:"조건에 따라
제어의 흐름실행 순서if ~ else문, switch ~ case문조건을 판단한 후 조건에 따라 분기하여 수행조건을 만족하면 문장을 실행하고 다음 라인을 수행if문의 조건을 만족하지 않으면 수행을 한번도 하지 않음형식형식조건을 만족하면 조건 다음의 문장1을 수행하고 조
하나의 이름으로 같은 데이터 형식을 여러 개 보관해 놓는 그릇zero-base index선언type\[] name = new typelength;선언type, name = new typelength, length;문자열 string 일종의 char의 배열과도 같다프로그
반복해서 사용하도록 만들어진 하나 이상의 문을 포함하는 코드 블록부 프로그램(sub program), 함수, 프로시저함수란 어떤 값을 받아서 그 값을 가지고 가공을 거쳐 어떤 결과값을 반환시켜 주는 코드함수는 프로그램 코드 내에서 특정한 기능을 처리하는 독립적인 하나의
구조체란?하나 이상의 변수 또는 배열을 묶어서 관리여러 개의 데이터 형식을 하나로 묶어서 관리하는 개념하나의 이름으로 여러 데이터 형을 보관클래스 구조보다 접근이 빠름(스택 사용)상속 불가능프로그램 내에서 데이터 보관 용도로 사용데이터 보관 관점 비교변수(Variabl
하나의 이름으로 서로 관련있는 정수 값을 갖는 상수 집합을 정의switch문에 열거형 조건 대입enum 키워드 사용
field와 method의 집합이다Instance == Objectclass 키워드로 생성, new 키워드로 인스턴스 생성내장되어 있는 클래스, 내장 클래스
1. 문자열 활용 닷넷 프레임워크에 내장되어 있는 클래스 중에서 문자열 관련 클래스는 문자열의 길이 반환, 문자열의 공백 제거, 대/소문자로의 변환 등의 기능을 하는 메서드 등을 제공 C#의 문자열은 유니코드(Unicode) 문자열이기에 다국어를 지원하고 문자열 관련
프로그램 실행 도중 발생하는 예상치 못한 오류오류(Error) === 예외(Exception)처리되지 않은 예외는 프로그램의 실행을 중단시키는 원인강제 종료 => 정상 종료로 처리가 필요신뢰도 및 안전성 측면에서 매우 중요예외 처리(Exception Handling)를
배열, 리스트, 딕셔너리(사전)을 사용하여 관련 개체의 그룹을 만들고 관리컬렉션 키워드 : array, list, dictionary컬렉션 클래스(제네릭) : Array, Stack, Queue, ArrayList, HashTable배열(array)과 리스트(list)
Cupt<T>를 Cup of T로 발음하여 형식 매개 변수인 T에 따른 Cup 클래스의 개체 생성편리함과 성능 향상 둘다 가져다 준다Collection의 향상 버전Generic : List<T>, Cup of TFILO(Fist In Last Out)기본적으
아무것도 없음을 의미하는 리터럴, 개체가 아무것도 참조하지 않음을 null 참조라 함아무것도 가리키지 않는다Nullable 형식 : null(값이 없음을 의미)이 할당될 수 있는 형식참조 형식 : null 할당 가능값 형식 : null 할당 불가하지만 type? 이렇게
C\`\`\`int\[] numbers = {1, 2, 3};// 합계(반복문 사용)int sum = 0;foreach(int number in numbers). {. sum += number;. }sum6using System.Linq;int\[] numbers =
초급중급고급6명의 점수 중 80점이 이상의 총점1부터 1000까지의 정수 중 13의 배수의 개수n명의 점수 중에서 80점 이상 95점 이하인 점수의 평균주어진 값 중 가장 큰 값주어진 값 중 가장 작은 값가까운 값(차잇값의 절댓값의 최솟값)주어진(지정한 범위) 데이터의
설계도인 Class로부터 만들어진 하나의 Instance(실체, 구성요소)액세스한정자 class 클래스명 {}public class MyClass {}클래스, 필드, 속성, 메서드, 생성자, 소멸자, 기타데이터(멤버변수; 필드)와 메서드(기능;함수)를 결합접근 권한자의
클래스명의 중복 방지클래스를 계층적으로 관리회사마다 회사명을 Top 네임스페이스로 구성클래스 및 기타 형식(Type)을 구조화클래스 이름과 기타 형식의 이름이 충돌하지 않도록 방지표준 namespace는 대부분 System으로 시작System, System.Text,
클래스 안에서 선언된 변수(Valiravle)를 필드필드는 일반적으로 클래스의 부품 역할을 하며 대부분 private 한정자가 붙음참고로 C/C++ 등의 언어에서는 해당 범위에서의 전역변수(Global Variable)와 같은 의미필드는 클래스가 가지는 속성이며 변수
클래스 이름과 동일한 이름을 사용하는 메서드클래스 실행 시 제일 먼저 실행되는 메서드클래스(개체)를 초기화 시켜주는 메서드void 키워드를 붙이지 ㅇ낳고 반환 값도 없음생성자는 개체를 초기화클래스 내의 필드를 초기화현실 세계에서 자동차의 시동을 거는 동작에 비유기본생성
생성자와 반대 개념으로 클래스로부터 인스턴스화된 개체가 메모리 상에서 없어질 때 발생하는 메서드C- 자동차 시동 끄는 기능으로 비유가 가능하며 운전수가 주차하고 시동 끄는 행위를 진행하는 게 아닌 주차요원(GC)이 이 모든 것을 대신해주는 것과 같은 의미형식블록의 끝에
클래스의 기능(동작)은 메서드로 표현액세스 한정자(Accessor)반환값(Return Type)반환값은 모든 타입(any Type)이 될 수 있다반환 값 없는 경우에는 void메서드(함수)명(Function Name)매개변수(Parameters)함수명과 매개변수 리스트
클래스 안에 선언된 필드의 내용을 설정(set)하거나 참조(get)할 때 사용하는 코드 블록을 속성이라 함개체의 필드 중에서 외부에 공개하고자 할 때 사용하는 방법private 필드를 public 속성으로...개체의 성질/특징/색상/크기/모양 등을 표현자동차 개체로 비
클래스의 인스턴스를 배열처럼 사용할 수 있도록 해주는 구문개체를 배열 형식으로 표현하고자 할 때 사용속성의 배열형배열의 인덱스 접근방식인 개체명0, 개체명1 식으로 개체의 속성(Property)에 접근자동차 개체를 예를 든다면 자동차 카탈로그(광고지)와 같이 자동차에
매개 변수 목록 및 반환 형식이 있는 메서드에 대한 참조(포인터)를 나타내는 형식메서드 대신 호출자동차 세계에서의 대리 운전메서드의 매개 변수에 메서드 자체(대리자)를 전달 가능내장된 닷넷 API에 많이 사용
특정 사황이 발생할 때 개체 또는 클래스에서 알림을 제공할 수 있도록 하는 멤버과속()사고 이벤트 발생운전()연료 부족 이벤트 발생Car.csProgram.csCar.csProgram.csCar.csProgram.cs
동일한 이름의 클래스를 하나 이상 두고 개발할 떼 partial 키워드 사용FirsetDevloper.cs, SecondDevloper.cs 하나의 클래스를 나눠서 작성FirsetDevloper.csSecondDevloper.csProgram.cs개체의 상태는 생성 후
부모 클래스에 저의된 기능을 다시 사용, 학장 및 수정하여 자식 클래스로 만들기부모 클래스와 자식 클래스부모 클래스수퍼 클래스, 베이스(base) 클래스, 기본 클래스특정 클래스에게 상속을 부여해줄 클래스공통 기능을 모아 놓음자식 클래스서브 클래스, 파생(derived
재정의, 다시 정의, Override, Overriding부모 클래스의 메서드를 자식 클래스에서 재정의가상 메서드virtual과 override다중 정의, 여러 번 정의, Overload, Overloading하나의 클래스에 시그니처가 다른 동일 이름의 메서드 여러 번
클래스에서 반드시 구현해야 하는 관련 기능에 대한 정의가 포함된 개념특정 멤버가 반드시 구현되어야 함을 보증
프로그램에서 형식, 멤버 및 다른 엔터티에 대한 추가 선언 정보를 지정 가능어노테이션(메시지)자동차 튜닝CLSCompliant어셈블리의 모든 형을 CLS에 맞춰 사용Obsolete사용할 수 없는 요소라는 것을 나타냄Conditional전처리기 식별자에 의해 실행 여부를
F11로 테스트 하기
이미 우리는 제네릭 클래스를 사용함이제, 직접 제네릭 클래스를 만들어 볼 시간!!!매개변수에 따른 형식무언가를 담아 놓을 컨테이너 역할Cup of TCup<T>장점타입 안정성능박싱과 언박싱 필요 없음내장된 제네릭 클래스만으로도 충분System.Collections
기존 형식에 메서드를 추가하는 기능으로확장 형식의 인스턴스 메서드로 사용this 키워드 사용
dynamic 키워드런타임에 데이터 형식이 결정되는 모든 형식을 담을 수 있는 유형의 형식string ss = "컴파일 시점";var vs = "컴파일 시점";dynamic = ds = "런타임 시점";C\`\`\`using System;using static Syst
괄호 기호의 간단한 구문을 사용하여 하나 이상의 속성을 가지는 개체를 만드는 형식배경메서드의 매개 변수를 전달할 때 사용자 정의 클래스를 사용하면 한 번에 여러 개의 값을 전달할 수 있다튜플은 새로운 클래스를 만들지 않고도 언어 차원에서 여러 개의 값을 전달할 수 있는
1. 클래스 라이브러와 닷넷 스탠다드 클래스 라이브러(Class Library), 나만의 라이브러리 생성 닷넷 스탠다드(.NET Standard)를 활용 2. 프로젝트 01. 빈 솔루션 프로젝트 생성 라이브러리, 패키지 만들 때 사용 ![](https://ima
특정 클래스의 메서드에 있는 논리 오류를 빠르게 찾을 수 있도록 도와주는 기능40\. 라이브 클래스 프로젝트 사용DulAlgorithm.ConsoleApp & DulAlgorithm.WinFormsApp1을 솔루션 폴더(UI)에 넣기failsuccessfail(1)su
닷넷 패키지 관리자DLL 파일과 메타 데이터https://nuget.orgNuGet 갤러리Public 패키지 공유Private 패키지 공유유료 패키지개인 패키지 관리DulAlgorithm project 사용(SelectionSort)시작 프로젝트로 설정 후 R
작업자 한명동시에 여러 작업을 수행하여 앱의 응답성을 높이고, 다중 코어에서 처리량 향상(1)(2)(3)async & await.Start()(async), 각자 비동기로 실행.Join()(await), 끝날 때 까지 대기단일 스레드 : 약 15초, 멀티 스레드(비동기
https://youtu.be/PwoF8jsCUtM동기비동기저녁식사 모델링 : 동기 프로그래밍저녁식사 모델링 : 비동기 프로그래밍(동기 포함)저녁식사 모델링 : 비동기 프로그래밍저녁식사 모델링Cooking.csasync Task<>비동기 선언 Task o
https://www.youtube.com/watch?v=wrG-iOiB12o&list=PLO56HZSjrPTB4NxAsEP8HRk6YKBDLbp7m&index=80실제 데이터베이스가 아닌 컬렉션(메모리)을 사용한 데이터 입력, 출력, 수정 삭제 등 비즈니스
https://www.youtube.com/watch?v=rrHDuomZm3M&list=PLO56HZSjrPTB4NxAsEP8HRk6YKBDLbp7m&index=81데이터를 파일/네트워크/데이터베이스 등으로 이동하는(다루는) 메커니즘읽고 쓰기 가능파일 처리 관
비동기 통신 AJAX(Asyncrous Javascript And XML) 사용을 위해 고안된 포맷 방식XML(eXtensible Markup Language)은 W3C에서 개발된, 다른 특수한 목적을 갖는 마크업 언어를 만드는데 사용하도록 권장하는 다목적 마크업 언어
1. 네트워크 프로그래밍 로컬 네트워크가 아닌 서버에 데이터를 주고 받는 글로벌 네트워크 프로그래밍 2. 프로젝트 01. 47까지의 프로젝트 솔루션에 API 솔루션 폴더 생성 후 웹 어플리케이션 API 프로젝트 생성 TodoApp.Apis 02. Model 참조
https://www.youtube.com/watch?v=z1ZM1A7fTW8&list=PLO56HZSjrPTB4NxAsEP8HRk6YKBDLbp7m&index=84 1. 함수와 함수형 프로그래밍 소개 01. 함수형 프로그래밍 함수 형태로 계산을 진행하고 변경되는 변
https://www.youtube.com/watch?v=8P38bW3pPgU&list=PLO56HZSjrPTB4NxAsEP8HRk6YKBDLbp7m&index=85https://docs.microsoft.com/ko-kr/https://ww
메모리 관리는 프로그래머 대신 가비지 콜렉터의 책임플랫폼 이식은 프로그래머 대신 CLR의 책임일관성없는 라이브러리가 일관된 클래스 라이브러리 제공게임 클라이언트(unity)고성능 서버데스크탑 앱웹 서비스클라우드 앱AIIoT...https://visualstud
1. C# 코드 컴파일 과정 01. 컴파일 소스코드를 분석해서 그 결과를 기계 코드로 생성하는 과정(번역) 어휘분석 코드를 하나 하나 조각내어 분석하는 것 구문분석 문법 오류 확인 의미분석 코드의 의미를 분석(어떠한 결과를 희망하는지 왜 이런 코드인지)