입력받은 숫자가 홀수인지 짝수인지 판별하기 >
for문은 초기식, 조건식, 증감식을 사용하여 반복문을 작성합니다.while문은 조건식이 참인 동안 코드 블럭을 반복적으로 실행do-while문은 while문과 비슷하나, 조건식을 검사하기 전에 먼저 코드 블럭을 한 번 실행하는 점이 다르다.foreach문은 배열이나
if문 조건식의 결과에 따라 실행 여부를 결정하는 조건문else문은 if문에서 조건이 거짓일 경우 실행할 코드를 지정하는 조건문else if문은 if문의 조건이 거짓일 때, 새로운 조건식을 사용하여 실행 여부를 결정하는 조건문.맨 아래 else문은 필요 없을 경우, 생
아래의 코드는 str1 문자열과 str2 문자열을 공백으로 구분하여 연결한 str3를 생성한다.출력을 해보면 ','을 기준으로 분할되었기 때문에 World 앞의 공백까지 포함된 모습str 문자열에서 "World"가 처음 등장하는 위치의 인덱스를 반환Parse는 문자열을
관계 연산자는 두 값을 비교하여 참 또는 거짓을 반환논리 연산자는 참 또는 거짓 값을 대상으로 사용된다.논리합 연산자를 velog에서 표현하는 방법을 모르겠다...비트 단위로 데이터를 조작, 이진수 연산을 할 수 있다.Left Shift :🤔 a << b는
입력을 받기 위해 Console.ReadLine을 사용해보자!C사용자가 입력한 값을 문자열로 반환한다.이름 받아서 출력하기출력하기사용자로부터 여러 개의 값을 한 줄에 입력받고 싶을 때에는 Console.ReadLine 메소드를 사용하여 입력받은 값들을 문자열로 받은 후
|C|:-|:-|:-|:-||bool |System.Boolean|1|true 또는 false||byte| System.Byte|1|0~255||int |System.Int32|4|-2,147,483,648 ~ 2,147,483,647||long |System.Int6
Hello, World의 기본 코드 구조 확인 Hello, World의 코드 구조 > using System; C#에서 제공하는 네임스페이스를 사용하기 위한 코드. 이 경우엔 Console 클래스를 사용하기 위해 필요하다. namespace : 코드를 구성하는 데 사
asdf
C# 형변환 - 숫자 → 숫자 (int, float) - 다른 자료형 → 문자 (숫자, bool → string) - 문자 → 다른 자료형 Convert 클래스 이용 > Convert 클래스의 매서드 Convert Parse() 함수 이용 > Convert와
👉 숫자 앞에 0 붙이기 찾아보니 대충 3가지 방법이 있는 듯 하다. > - PadLeft 함수 > - string.Format 함수 > - ToString() 함수 ✨ PadLeft, PadRight 함수 전체 자리 수만큼 특정 문자를 채울 수 있는 함수라고
컴퓨터가 가위, 바위, 보 중 랜덤으로 하나 선택한다.이 후 플레이어가 하나를 선택한다.만약, 컴퓨터와 플레이어가 같은 것을 선택했을 경우, 다르게 선택할 때까지 반복한다.다르게 선택했을 경우, 결과를 출력한다.1 ~ 100 사이의 숫자를 랜덤으로 생성한다.플레이어가
👉 동일한 자료형의 값들이 연속적으로 저장되는 구조동일한 데이터 유형을 가지는 데이터 요소들을 한 번에 모아서 다룰 수 있는 구조인덱스를 사용하여 요소에 접근 가능선언된 크기만큼 메모리를 할당 받음여러 개의 배열을 하나로 묶어 놓은 배열행과 열로 이루어진 표 형태와
컬렉션은 자료를 모아 놓은 데이터 구조를 의미한다.컬렉션은 배열과 비슷한 자료 구조배열과는 다르게 크기가 가변적이다.C- 사용하기 위해서는 System.Collections.Generic 네임스페이스 추가리스트는 가변적인 크기를 갖는 배열리스트를 생성할 때는 리스트에
메서드(Method)는 일련의 코드 블럭으로, 특정한 작업을 수행하기 위해 사용되는 독립적인 기능 단위코드의 재사용성과 모듈화를 위해 사용되며, 필요할 때 호출되어 실행한다.메서드를 사용하면 동일 작업을 반복해서 구현하지 않아도 된다. 필요할 때 메서드를 호출하여 작업
여러 개의 데이터를 묶어서 하나의 사용자 정의 형식으로 만드는 방법!구조체는 값 형식(Value Type)으로 분류, 데이터를 저장하고 필요한 기능 제공구조체는 struct 키워드를 사용하여 선언구조체의 멤버는 변수와 메서드로 구성된다.구조체는 변수를 선언하여 사용할
관련된 데이터와 기능을 하나의 단위로 묶는 것!클래스를 사용하여 데이터와 메서드를 캡슐화하여 정보를 은닉, 접근을 제한함으로써 안정성과 유지보수성을 높인다.상속은 기존의 클래스를 확장하여 새로운 클래스를 만드는 것!부모 클래스의 특성과 동작을 자식 클래스가 상속받아 재
같은 타입이지만 다양한 동작을 수행할 수 있는 능력!부모 클래스에서 정의되고 자식 클래스에서 재정의할 수 있는 메서드virtual 키워드로 선언, 자식 클래스에서 필요에 의해 재정의 가능자식 클래스에서 부모 클래스의 메서드를 변경, 확장 가능!virtual이 선언되어
제너릭은 클래스나 메서드를 일반화시켜 다양한 자료형에 대응할 수 있는 기능!제너릭을 사용하여 코드의 재사용성을 높일 수 있다.C- 제너릭 클래스나 메서드에서 사용할 자료형은 선언 시점이 아닌 사용 시점에 결정된다!제너릭 클래스나 메서드를 사용할 때는 <T> 대신
🪧 out, ref 사용법 > 값 형식의 변수를 참조 형식처럼 값을 변경해줄 때 사용할 수 있다. 👉 사용법 out, ref 키워드는 메서드에서 매개변수를 전달할 때 사용한다. 키워드는 메서드에서 반환 값을 매개변수로 전달하는 경우에 사용한다. 키워드는 메서드에서
🪧 out, ref 사용법 > 값 형식의 변수를 참조 형식처럼 값을 변경해줄 때 사용할 수 있다. 👉 사용법 out, ref 키워드는 메서드에서 매개변수를 전달할 때 사용한다. 키워드는 메서드에서 반환 값을 매개변수로 전달하는 경우에 사용한다. 키워드는 메서드에서
🪧 out, ref 사용법 > 값 형식의 변수를 참조 형식처럼 값을 변경해줄 때 사용할 수 있다. 👉 사용법 out, ref 키워드는 메서드에서 매개변수를 전달할 때 사용한다. 키워드는 메서드에서 반환 값을 매개변수로 전달하는 경우에 사용한다. 키워드는 메서드에서
다중 상속의 문제!!!다중 상속을 허용하면 한 클래스가 두 개 이상의 부모 클래스로부터 동일한 멤버를 상속받을 수 있다. 이 경우, 같은 이름의 멤버를 가지고 있을 때 어떤 부모 클래스의 멤버를 사용해야 할 지 모호해진다.예를 들어, 아래와 같이 B, C 클래스가 A
열거형을 사용하면 일련의 연관된 상수들을 명명할 수 있다. → 코드의 가독성 향상, 상수 사용 시 실수로 잘못된 값을 할당하는 것을 방지할 수 있다.열거형은 의미 있는 이름을 사용하여 상수를 명명할 수 있다. → 코드의 가독성 향상, 상수의 의미를 명확하게 설명 가능열
프로그램 실행 중 발생하는 예기치 않은 상황프로그램의 정상적인 흐름을 방해, 오류를 야기할 수 있다.예외 처리는 예외 상황에 대비하여 프로그램을 안정적으로 유지하는 데 도움을 준다.예외 처리를 통해 오류 상황을 적절히 처리, 프로그램 실행을 계속할 수 있다.예외 처리는
값형은 변수에 값을 직접 저장한다.변수가 실제 데이터를 보유하고 있으며, 해당 변수를 다른 변수에 할당하거나 전달할 때는 값이 복사된다.값형 변수의 수정은 해당 변수의 값만 변경하므로 다른 변수에 영향을 주지 않는다.int, float, double, bool 등의 기
값형과 참조형 사이의 변환을 의미한다.박싱은 값형을 참조형으로 변환하는 과정!값형 변수의 값을 메모리의 힙 영역에 할당된 객체로 래핑.박싱을 통해 값형이 참조형의 특징을 갖게 되며, 참조형 변수로 다뤄질 수 있다.박싱된 값형은 참조로 전달되므로 메모리 오버헤드가 발생할
델리게이트란 메서드를 참조하는 타입! → 메서드를 변수에 저장한다.다른 프로그래밍 언어의 함수 포인터와 비슷하다.델리게이트를 이용하면 메서드를 매개변수로 전달하거나 변수에 할당할 수 있다.메서드 등록해서 사용하기하나 이상의 메서드 등록하기event : 할당연산자(=)를
람다는 익명 메서드를 만드는 방법!람다를 사용하면 메서드의 이름 없이 메서드를 만들 수 있다.람다는 델리게이트를 사용하여 변수에 할당하거나, 메서드의 매개변수로 전달할 수 있다.형식정의하기람다는 이름이 없기 때문에 델리게이트가 참조하도록 하여 델리게이트를 통해 호출할
Func와 Action은 델리게이트를 대체하는 미리 정의된 제네릭 형식.Func는 값을 반환하는 메서드를 나타내는 델리게이트. 마지막 제네릭 형식 매개변수는 반환 타입을 나타낸다.ex) Func<int, string>은 int를 입력으로 받아 string을 반환한
.NET 프레임워크에서 제공되는 쿼리 언어 확장 → 코드에서 쿼리문을 던질 수 있다!!데이터 소스(컬렉션, 데이터 베이스, 배열 등...)에서 쿼리문을 통해 데이터를 조작, 사용할 수 있다.데이터 베이스 쿼리와 유사한 방식으로 데이터를 필터링, 정렬, 그룹화, 조인 등
null은 "아무것도 없음"을 의미한다.참조형 변수가 어떠한 객체를 참조하지 않을 때 사용한다.Nullable은 C- 기본적으로 값형은 null을 허용하지 않으나, 값형 변수에 null 값을 지정할 수 있는 방법을 제공하여 값형이나 구조체를 사용하는 프로그램에서 nul
문제를 해결하기 위한 명확한 절차나 방법입력을 받아 원하는 출력을 생성하기 위한 절차입력, 출력, 명확한 단계, 실현 가능성, 속도, 메모리 관리주어진 입력에 정확하고 일관된 결과를 제공해야 한다.효율적인 알고리즘을 통해 더 효율적인 프로그램을 작성할 수 있다.효율적인
문제를 해결하기 위한 명확한 절차나 방법입력을 받아 원하는 출력을 생성하기 위한 절차입력, 출력, 명확한 단계, 실현 가능성, 속도, 메모리 관리주어진 입력에 정확하고 일관된 결과를 제공해야 한다.효율적인 알고리즘을 통해 더 효율적인 프로그램을 작성할 수 있다.효율적인
문제를 해결하기 위한 명확한 절차나 방법입력을 받아 원하는 출력을 생성하기 위한 절차입력, 출력, 명확한 단계, 실현 가능성, 속도, 메모리 관리주어진 입력에 정확하고 일관된 결과를 제공해야 한다.효율적인 알고리즘을 통해 더 효율적인 프로그램을 작성할 수 있다.효율적인
👩👦 상속 > 상속은 객체지향 언어에서 가장 중요한 개념! 🤔 상속? ▪️ 상속의 개념 상속은 기존의 클래스(부모)를 확장, 재사용하여 새로운 클래스(자식)를 생성하는 것. 자식 클래스는 부모 클래스의 멤버(필드, 메서드, 프로퍼티 등)을 상속받아 사용할 수
데이터를 특정 순서(사전 순서, 대소 크기 등...)으로 배열하는 방법!선택 정렬은 배열에서 최소값 혹은 최대값을 찾아 맨 뒤나 앞과 교환하는 방식이다.시간 복잡도는 최악과 평균의 경우 모두 O(n^2), 공간 복잡도는 O(1)이다.정렬되지 않은 부분에서 요소를 가져와
주어진 데이터 집합에서 특정 항목을 찾는 방법을 제공한다.가장 단순한 탐색 알고리즘. 배열의 각 요소를 하나씩 차례대로 검사하여 원하는 항목을 찾는다.시간 복잡도 : 최악의 경우 O(n)배열을 처음부터 끝까지 하나씩 비교하여 검색하는 알고리즘배열이 정렬되어 있지 않을
작은 문제 단위로 쪼개서 반복하여 푸는 방식동적 프로그래밍은 큰 문제를 작은 하위 문제로 분할하여 푸는 접근 방식작은 하위 문제의 해결 방법을 계산하여 저장하고, 이를 이용하여 큰 문제의 해결 방법을 도출한다. → "메모이제이션(Memoization)"중복되는 하위 문
문제 이해 : 문제를 정확히 이해하고 요구사항을 파악하는 것! 문제 설명을 읽고 입력과 출력의 형식을 이해하고 분석해야 한다.예제와 테스트 케이스 : 문제의 예제와 추가적인 테스트 케이스를 활용하여 문제를 이해하고 해결 방법을 검증해야 한다.알고리즘 설계 : 문제를 해
함수를 변수처럼 사용할 수 있다.SpawnPlayer()를 예로 들어보자.플레이어를 맵에 생성하는 함수 SpawnPlayer()가 있을 때, 방 A, B, BossRoom, RandomPlace처럼 방에 따라 생성하는 함수가 다르다고 가정해보자.이때, 각자 함수를 만드
구조체와 클래스의 차이? 구조체는 값 형식, 클래스는 참조 형식이다. Heap, Stack 메모리 Code : 프로그래머가 작성한 코드를 보관 Data : Static, const, 전역 변수 등 어플리케이션 전반에 필요한 데이터가 저장됨 Heap : 참조 데이터
반복되는 숫자는 변수로 사용하면 좋다. 반복되는 로직은 함수로 사용하면 좋다. 반복되는 클래스는 상속을 활용하면 좋다. 반복되어 재사용할 때 필요한 값은 다를 수도 있다. ex) 함수는 delegate를 활용하여 각각 다른 함수를 실행할 수 있다. 클래스의 경우
어떤 앱에서 게스트 유저와 회원가입 유저 2가지 형태의 유저 형태가 있다고 하자.유저 형태에 따라 서로 다른 작업이 필요할 수 있다. 게스트 유저는 서버에 저장되지 않고 앱 자체에 저장시키듯이 말이다.이 때는 if문을 사용할 수 있을 것이다. 그러나, SNS로 가입하는