분류 전체보기
C#의 오버로딩이란?
C#의 오버로딩은 같은 이름의 메서드나 생성자를 여러 개 선언하는 기법입니다. 각 메서드나 생성자는 매개변수의 개수, 타입, 순서가 다르지만, 이름은 동일합니다. 오버로딩의 장점 오버로딩은 다음과 같은 장점이 있습니다. 코드를 간결하게 작성할 수 있습니다. 사용자의 편의성을 높일 수 있습니다. 코드의 재사용성을 높일 수 있습니다. 오버로딩의 단점 오버로딩은 다음과 같은 단점이 있습니다. 메서드나 생성자를 구분하기 어려울 수 있습니다. 메모리 사용량이 증가할 수 있습니다. 오버로딩의 사용법 오버로딩을 사용하려면 다음과 같은 사항을 유의해야 합니다. 메서드나 생성자의 이름은 동일해야 합니다. 메서드나 생성자의 매개변수의 개수, 타입, 순서는 달라야 합니다. 메서드나 생성자의 반환 타입은 같을 수도 있고 다를..
C#의 var 키워드란?
C# 7.0부터 var 키워드를 사용하여 변수를 선언할 수 있습니다. var 키워드는 컴파일러가 변수의 타입을 추론하여 초기화합니다. var 키워드의 사용법 var 키워드를 사용하여 변수를 선언하려면 다음과 같이 사용합니다. // var 키워드를 사용하여 변수를 선언합니다. var variable; 이 코드는 variable이라는 이름의 변수를 선언합니다. 컴파일러는 variable 변수의 타입을 추론하여 초기화합니다. var 키워드의 예시 var 키워드는 다음과 같은 경우에 사용할 수 있습니다. 변수의 타입을 명시하지 않고 코드를 작성해야 하는 경우 컴파일 타임에 타입이 결정되는 데이터를 저장해야 하는 경우 var 키워드의 장점 var 키워드는 다음과 같은 장점이 있습니다. 코드를 간결하게 작성할 수 ..
C#의 동적 변수란?
C#의 동적 변수는 컴파일 타임에 타입이 결정되지 않는 변수입니다. 동적 변수는 dynamic 키워드를 사용하여 선언합니다. 동적 변수의 선언 동적 변수는 다음과 같이 선언합니다. // dynamic 키워드를 사용하여 동적 변수를 선언합니다. dynamic variable; 이 코드는 variable이라는 이름의 동적 변수를 선언합니다. 동적 변수의 초기화 동적 변수는 다음과 같이 초기화할 수 있습니다. // 동적 변수를 숫자로 초기화합니다. variable = 10; // 동적 변수를 문자열로 초기화합니다. variable = "Hello, world!"; // 동적 변수를 객체로 초기화합니다. variable = new Person(); 더보기 이 코드는 variable 변수를 다음과 같이 초기화합니..
C#의 2차원 배열이란?
C#의 2차원 배열은 행과 열로 구성된 배열입니다. 행은 배열의 가로 방향을 나타내고, 열은 배열의 세로 방향을 나타냅니다. 2차원 배열의 선언 2차원 배열은 다음과 같이 선언합니다. // int 형식의 2차원 배열을 선언합니다. int[,] array = new int[3, 4]; 이 코드는 3개의 행과 4개의 열로 이루어진 int 형식의 2차원 배열을 선언합니다. 2차원 배열의 초기화 2차원 배열은 다음과 같이 초기화할 수 있습니다. // int 형식의 2차원 배열을 초기화합니다. int[,] array = new int[3, 4] { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; 더보기 이 코드는 위에서 선언한 2차원 배열을 다음과 같이 초기화합니다. [0, 0..
Unity로 이해하는 빌더 패턴
빌더 패턴이란? 빌더 패턴은 복잡한 객체를 생성하는 방법을 캡슐화하는 디자인 패턴입니다. 빌더 패턴을 사용하면 객체를 생성하는 과정을 단계별로 나누어 처리할 수 있습니다. 빌더 패턴의 장점 객체를 생성하는 과정을 단순화할 수 있습니다. 객체의 생성 순서를 제어할 수 있습니다. 객체의 생성 과정을 재사용할 수 있습니다. 객체의 생성 과정을 테스트하기 쉽습니다. Unity에서의 빌더 패턴 Unity에서 빌더 패턴을 사용하면 다음과 같은 경우에 유용합니다. 복잡한 GameObject를 생성해야 하는 경우 GameObject의 생성 순서를 제어해야 하는 경우 GameObject의 생성 과정을 재사용해야 하는 경우 GameObject의 생성 과정을 테스트해야 하는 경우 Unity에서 빌더 패턴을 사용하는 방법 U..
백준 알고리즘 2754 : 학점계산
1차 실패 A~F까지 기준을 잡고 첫 글자에 점수를 매기고 두번째 글자에 따라 추가로 연산해주면 될거 같아서 이렇게 코드를 작성했다. 출력이 잘되는걸 보고 제출을 하였지만 틀렸다고 한다. 문제를 다시 읽어보니 예외처리가 안되어있다는 사실을 깨달았다. 더보기 namespace BaekJoon { public class _2754 { public static void Main() { string input = Console.ReadLine(); Console.WriteLine(GetScore(input)); } public static float GetScore(string grade) { var score= 0.0f; switch(grade[0]) { case 'A': score = 4.0f; break;..
백준 알고리즘 25206번 : 너의 평점은
풀이 A~F 학점까지만 계산하기 위해 입력받은 글자중에 해당하는 부분이 있는지 확인하기 위해 string 배열을 만들어준다. 이제와서 생각해보니 P만 검사해서 제외하는게 더 좋았을걸... static string[] grades = { "A+", "A0", "B+", "B0", "C+", "C0", "D+", "D0", "F" }; 20줄에 걸쳐 과목명, 학점, 등급이 공백으로 구분되어 주어져 20줄에 해당하는 글자를 입력받기 위해 배열을 생성하고 20번 동안 입력을 받는다. public static void Main() { string[] input = new string[20]; int i = 0; do { input[i] = Console.ReadLine(); i++; } while (i < 20)..
Unity에서 게임오브젝트를 찾는 방법 2
Unity의 FindObjectOfType 메서드는 특정 타입의 게임 오브젝트를 찾는 데 사용되는 메서드입니다. 이 메서드는 지정된 타입의 게임 오브젝트가 하나라도 있는 경우 그 게임 오브젝트를 반환하고, 없는 경우 null을 반환합니다. FindObjectOfType FindObjectOfType 메서드는 다음과 같이 사용합니다. // 지정된 타입의 게임 오브젝트를 찾습니다. GameObject player = FindObjectOfType(typeof(Player)); // 지정된 타입의 게임 오브젝트가 없으면 null을 반환합니다. GameObject enemy = FindObjectOfType(typeof(Enemy)); if (enemy == null) { // 적을 찾을 수 없습니다. } Fi..