분류 전체보기 56

Unity3D에서의 상속

상속(Inheritance)이 무엇일까요? 상속 (Inheritance) (tistory.com) 상속 (Inheritance)상속(Inheritance)은 'Parent - Child(부모클래스 - 자식클래스)', 'Base - Derived(기본클래스 - 파생클래스)', 'Super class - Sub class' 로 부릅니다.  상속은 Parent class의 데이터를 Child class에서 불러올 수 있습니hwangameinformation.tistory.com제가 이전에 다룬 상속 글입니다. 쉽게 설명하자면 부모 class에서 다루는 함수와 변수를 자식 class가 상속받아 사용하는 것입니다. 이 기능은 특정 여러 Script에 같은 코드를 작성하는 번거로움을 해결해줍니다. 예시로 코드를 가..

유니티(Unity) Component제어

유니티는 C# 언어를 사용하는 대표적인 게임 엔진 중 하나입니다. 위의 사진은 유니티의 생명주기로 호출되는 순서라고 생각하시면 됩니다.  오늘은 유니티의 기초적인 기능인 이동, 충돌, 물리를 다뤄보겠습니다. 우선 Empty, Capsule, plane 생성하고 시작합니다. 오늘 다뤄야할 충돌, 물리에 필요한 Rigidbody, Collider을 알아보겠습니다.using System.Collections;using System.Collections.Generic;using UnityEngine;public class LifeCycleTest : MonoBehaviour // MonoBehaviour: 유니티가 제공하는 FlameWork{ //가장 먼저 호출되는 Awake 함수 //여기서 보통 ..

상속 (Inheritance)

상속(Inheritance)은 'Parent - Child(부모클래스 - 자식클래스)', 'Base - Derived(기본클래스 - 파생클래스)', 'Super class - Sub class' 로 부릅니다.  상속은 Parent class의 데이터를 Child class에서 불러올 수 있습니다. 그러나 Child class의 데이터를 Parent class에서 불러올 수 없습니다. 가져오면 짱구 아빠 얼굴처럼 프로그램이 경고와 오류가 있다합니다. /*sealed*/ class Parent //sealed문은 봉인과 같음. 자식이든 뭐든 아무도 못 쓰도록 포장하는 문{ public int parentA; //protected는 자식은 접근 되지만 외부는 접근할 수 없는 상속문. Program.cs..

구조체 (Structure)

//Value Type (값 형식) //값 자체를 가져오는 형식//Reference Type (참조 형식) //주소를 가져오는 형식//모든 클래스, 배열은 참조 형식, 값을 바꾸면 원본값도 바뀌는 방식//클래스 복사하면 얉은 복사struct Point{ //int m_iVal; //int mVal; //public int x = 100; //구조체는 선언과 동시에 초기화가 불가능. public int x; //public int y { get; set; } public int y; public int Y //Property(속성) { get { return y; } set { y = value; } } //함..

배열 (Array)

class Program{ static void Main() { //1차원 배열(Array) int[] arr = { 1, 2, 3 }; //C#의 배열 문법 구성, C#은 무조건 동적할당을 해야하기 때문에 기본 자료형 [ ]안에 크기 안들어감. ex)[2],[3] 오류 int[] arrAlloc = new int[3]; //이처럼 동적할당을 자료형에서 미리 하면 가능. 3의 크기 //공간만 만들기 버전 arr[0] = 10; //arr의 0번째 요소 10 Console.WriteLine("int Size: " + sizeof(int)+ " byte"); //일반 자료형은 sizeof가 가능 //Console...

C#의 시작, class와 DataTypes

C언어는 컴퓨터와 친한 언어로 운영체제, 임베디드 시스템 개발에 주로 사용되고 C#은 객체 지향의 특성과 동적인 웹사이트와 데스크톱 애플리케이션 개발에 주로 사용됩니다.  (Object Oriented Programming)(OOP) 객체 지향은 명령형 프로그래밍으로 프로그램을 수많은 객체(Object)라는 기본 단위로 나누고 이들의 상호작용을 서술하는 방식입니다. 객체란 메소드, 변수를 가지고 특정 역할을 수행하도록 인간이 정의한, 추상적인 개념입니다. C#언어는 객체 지향으로 class, public 같은 용어를 다루게됩니다.class Program{ static void Main() { Console.WriteLine("Hello, World!"); //C언어 printf("..

퀵 정렬(Quick Sort)

퀵 정렬(Quick Sort)은 효율적이고 널리 사용되는 정렬 알고리즘입니다. 주요 특징들입니다.분할 정복 방식: 배열을 정렬하기 위해 배열을 작은 부분 배열로 분할하고 각 부분 배열을 재귀적으로 정렬합니다.피벗 선택: 배열에서 하나의 요소를 피벗(pivot)으로 선택분할: 피벗을 기준으로 작은 값들을 왼쪽, 큰 값들은 오른쪽으로 분할재귀적 정렬: 분할된 두 부분 배열에 대해 재귀적으로 퀵 정렬을 수행합니다. pivot은 기존 배열에서 자주 사용한 head와 전혀 다른 형태입니다. 배열에서 head와 tail은 배열의 양 끝 고정이지만 pivot은 정렬 과정 중 해당 요소를 주기적으로 바꿔가며 오름차순을 만들어냅니다. 가장 자주 사용하는 정렬로 이름대로 빠르다는 장점이 있습니다.#include #incl..

버블 정렬(Bubble Sort)

버블 정렬은 리스트를 반복적으로 순회하며 인접한 두 요소를 비교하고, 잘못된 순서라면 교환합니다. 모든 요소를 여러 번 비교해야 하기 때문에 일반적으론 비효율적입니다. 여기서 두 요소를 비교, 교환은 앞써 쓴 글인 삽입 정렬 (Insertion Sort)과 비슷하지만 비교 방식과 에서 다른 형태를 가지고 있습니다. 그림으로 설명하겠습니다.삽입 정렬: 순차적으로 리스트를 확인하며 두 요소를 비교, 정렬하는 방식버블 정렬: 리스트를 반복 순회하며 두 요소를 비교, 정렬하는 방식즉, 버블 정렬은 리스트를 계속 순회하기 때문에 삽입 정렬보다 비효율적인 정렬 방식입니다.#include #include #include #define MAX_LEN 10// Init: Initializationvoid InitRand..