Pink Transparent Star

C# 13

[ 내일배움캠프 ] TIL.15 - 델리게이트

팀프로젝트를 진행하면서 몬스터의 데미지, 플레이어의 데미지를 여러 클래스에서 받아와야해서 "델리게이트"를 사용하면 좋겠다. 라고 판단을 했으나 실패를 하여 델리게이트에 대해 정리해보고자하였다. 델리게이트(Delegate)란?델리게이트는 대신 일을 해주는 역할을 하는 것으로 "대리자"라고 이야기 할 수 있다.  델리게이트 선언 delegate 반환형 델리게이트명(매개변수..) 델리게이트를 사용하는 이유 .. 이해를 잘 못한것같..

Unity/개념 공부 2024.05.03

[ 내일배움캠프 ] TIL.14 - 추상 클래스와 인터페이스 비교하기

이전 포스팅에선 추상클래스와 인터페이스 각각을 정리했다. 하지만 공부를 할수록 그럼 왜 따로 구분한거지? 라는 의문으로 정리가 안되 각각의 특징을 비교하여 정리를 하려고 한다.  + 오늘 튜터님께서 진행해주시던 부분이 운이 좋게 인터페이스와 추상클래스를 설명해주시는 강의라 이해한 부분을 추가적으로 정리하려고한다. 각각의 이론에 대해 이해는 됐었지만 도대체 언제 어떻게 사용하는건데..?를 조금이나마 이해한 것 같다. 이전에 정리한 인터페이스와 추상 클래스의 포스팅이다. [ 내일배움캠프 ] TIL.13 - 인터페이스 ( Interface )🔷 인터페이스란 ?클래스와 비슷하게 메서드, 속성, 이벤트, 인덱서 등을 갖지만 인터페이스는 이를 직접 구현하지 않고 단지 정의만 갖는 것을 의미한다. 하지만 인터페이스..

Unity/개념 공부 2024.05.02

[ 내일배움캠프 ] TIL.14 - 추상 클래스와 추상 메서드 ( Abstract )

추상화?추상이란, 사물이나 표상을 어떤 성질, 공통성, 본질에 착안하여 그것을 추출하여 파악하는 것공통적인 성질이나 본질을 추출하여 파악하는것이 추상화의 핵심이다. 🔷 추상 클래스( abstract class ) abstract의 키워드를 사용하면 상속 받는 클래스에서 공통적으로 구현해야 하는 클래스나 멤버를 만들 수 있습니다.🔗 abstract 🔸 추상 클래스 형태클래스 정의 앞에 abstract 키워드를 선언하면 클래스를 추상 클래스으로 불린다. 또는 추상 메서드가 하나라도 포함되어 있다면 추상 클래스로 정의가 된다. 추상 클래스에 선언 되는건 접근 제한자를 적지않으면 private이다.public abstract class [ 클래스 이름 ]{ //내용 구현} 🔸 추상 메서드 형태상속 받는 ..

Unity/개념 공부 2024.05.02

[ 내일배움캠프 ] TIL.13 - 얕은 복사 & 깊은 복사

얕은 복사와 깊은 복사에 대해 알기전에 값 타입과 참조 타입에 알아둬야해서 간략하게 작성한 뒤 얕은 복사, 깊은 복사에 대해 작성하려고 한다.값 타입 ( Value Type ) 🔗참조 타입 ( Reference Type ) 🔗 각각의 고유의 메모리를 소유생성된 인스턴스들은 주소값을 공유데이터를 직접적으로 스택 메모리에 저장스택 메모리에는 힙 메모리의 주소 저장힙 메모리에는 데이터를 저장byte, short, int, ... decimal, bool, enum, struct class, interface, delegate, dynamic, object, string  🔷 얕은 복사 ( Shallow Copy ) : ◾ 참조 형식의 데이터를 복사하는 것으로 참조를 복사하는 것을 의미한다. ◾ 이때 복사..

C#/개념 공부 2024.05.01

[ 내일배움캠프 ] TIL.11 - 자료구조 ( 배열 & 리스트 )

튜터님께서 배열과 리스트에 대해 강의를 해주셨습니다. 이해한 내용을 정리해보고자 합니다!🔷 배열(Array)이란? ▪실행 중 수정 할 수 없는 고정 길이를 가진 동일한 타입의 변수를 모아놓은 데이터 집합▪System.Array 네임페이스에서 사용🔗 변수 이동하기  🔸 Array 사용하는 이유예를 들어 사람들의 나이를 변수에 담는다고 가정하면 아래와 같이 변수를 선언해야한다.int peopleAge_1 = 20;int peopleAge_2 = 21;int peopleAge_3 = 22;int peopleAge_4 = 23;int peopleAge_5 = 24;...int peopleAge_10 = 30; 확인을 해보면 관리해야하는 사람이 50명이면 50번의 변수를 선언해야하며 변수를 접근하여 값을 얻..

C#/개념 공부 2024.04.29

[ 내일배움캠프 ] TIL.10 - Newtonsoft.Json

그동안 Unity로만 데이터를 저장하고 로드하는 방법,  XML을 이용한 저장하는 방법 대해 배웠는데Text RPG를 제작하면서 Visual Studio를 통해 Json을 사용하는 방법에 대해 배울 수 있었다. 데이터를 저장하고 로드하는건 쉬운 것 같으면서도 아직까지 어려운 것같아 구현에 성공한 내용을 정리하려고 한다. 또 유니티를 통한 Json 방법은 이전에 정리했는데 이번에 적용한 Json 방식과 크게 다르지 않는 것 같다. [ 내일배움캠프 ] TIL.04 - Json 파일 파싱해당 내용은 내가 담당했던 부분 중 데이터 저장 후 점수 표출하기 부분에 대한 내용을 다뤄보고자 한다. PlayerPrefs를 이용해서 간단하게 접근이 가능했었겠지만 많이 사용해봤던 PlayerPrefs가 아o-joyuna.t..

Unity/개념 공부 2024.04.26

[ 내일배움캠프 ] TIL.09 - 조건문 & 반복문

조건문조건은 사전적 의미로 '어떤 일을 이루게 하거나 이루지 못하게 하기 위하여 갖추어야 할 상태나 요소'를 뜻하고 있습니다.즉, 프로그래밍에선 프로그램 흐름을 조건에 따라 실행된다는것을 조건문이라고 뜻하고 있으며 그 종류로는 if문, switch문이 있습니다. 🔶 if - elseif - else조건식에는 비교식 또는 bool타입(참/거짓)이 들어 갈 수 있으며 조건에 해당되는 내용을 실행합니다. 형태if(조건1){ //조건1 실행할 내용}else if(조건2){ //조건2 실행할 내용}else{ // 조건1, 조건2의 조건을 제외한 실행할 내용}  🔶 switch - case - breakif문과 비슷한 역할을 한다. case에는 확인할 문자열이나 정수를 넣는데 가능하며 조건식과 case의 값이 ..

C#/개념 공부 2024.04.25

[ 내일배움캠프 ] TIL.08 - 메소드와 매개변수

Class의 요소로 데이터 영역과 기능, 논리 영역 두가지로 나뉘는 것을 알게되었다. 그중 해당 포스티은 기능, 논리 영역에 대해 정리를 해보고자 한다. 기능, 논리영역에서 다루는 메소드의 경우 다른 이름으로 Functions, 함수로도 불리며 같은 의미이지만 불리는 방식이 다르니 알아두는 것이 좋다.  🔷 메서드란?특정한 기능을 수행하도록 나눠진 작업 단위 🔷 메서드(Funtion) 선언 방법메서드의 기본 구조로 [ 접근제한자 ] [ 반환값의 데이터형 ][ 메서드명 ](데이터 형 인수,...) { 메서드 처리; return 반환값} 로 이루어져 있으며 반환값(Return value)이 없으면 void라는 반환값을 사용하여 표기한다. 🔷 선언한 메서드 호출 방법[메서드 명] (인수1); 을 통해 해..

C#/개념 공부 2024.04.24

[ 내일배움캠프 ] TIL.07 - 변수와 자료형

이성언 튜터님께서 기초 강의를 자료형, 변수 선언, 접근제한자에 대해 설명해주셔서 관련 내용을 정리를 하며 앞으로 C#에 대한 내용을 차근차근 정리하려고 한다. Class의 요소로는 데이터 영역과 기능.논리 영역 두가지로 나뉘어있다.🔸 데이터 요소 : 알고리즘을 짜기 위한 요소으로 게임의 체력, 레벨, 스탯 등 데이터를 의미🔸 기능, 논리 요소 : 알고리즘을 담당하는 요소으로 게임의 공격하기, 움직이기, 점프하기 등 동작을 의미 그 중 해당 포스팅은 데이터 요소에 대해 정리를 해보고자 한다. 🔷 데이터 선언 ( 할당 ) 방법데이터 선언 즉 변수를 선언하고 초기화하기 위해선 위의 구조와 같이 "[접근제한자][자료형][변수명] [대입연산자] [값]" 로 이루어져 있으며 Ty..

C#/개념 공부 2024.04.23

[ 내일배움캠프 ] TIL.06 - C# "개체 참조가 필요합니다."

Main()이 있는 클래스 안에서 "개체 참조가 필요합니다." 의 오류가 났다. Unity가 아닌 콘솔로 이용한 C#은 정말 오랜만에 다뤄보고 이해하기 위해 작성을 해보고자 한다. 문제 상황 namespace ConsoleApp1 { internal class Program { static void Main(string[] args) { string num; Console.WriteLine("두 개의 숫자를 입력해주세요."); num = Console.ReadLine(); string[] nums = num.Split(' '); NumberCalculator(int.Parse(nums[0]), int.Parse(nums[1])); //Error } public void NumberCalculator(in..

Unity/개념 공부 2024.04.22