본문 바로가기

override

유니티와 C# 개념 정리_014_클래스_Class Class(클래스)는 개체지향 프로그래밍(OOP)에서 개체를 만드는데 필수적인 설계도와 같다. 클래스는 변수(필드)와 함수(메서드)의 결합체이다. 유니티로 게임을 만들때도 C#으로 만든 클래스는 개체의 특성과 기능을 구현하는 핵심적인 역할을 담당한다. 예를 들어 어떤 게임에서 이름과 체력, 점수를 가진 플레이어가 아이템을 수집한다고 하자. 게임에서 이런 특성들을 사용하기 위해서는 클래스에 변수(필드)를 정의한다. 또한 플레이어가 이동하기, 공격하기, 수집하기 등의 동작을 할 수 있게 하려면 함수(메서드)를 만들 수 있을 것이다. 1번줄: using namespace(네임스페이스)이름; 클래스 선언 위쪽에 작성하여 네임스페이스 안에 있는 클래스들을 사용할 수 있다. 3번줄: 클래스 선언과 MonoBehav.. 더보기
유니티22_게임 제작 과정 06_Prefab 프리팹 만들기 여러 적 만들기 앞에서 적(Enemy)는 게임오브젝트로 객체를 만들었다. 그런데 만들어야 하는 적이 많다면 게임오브젝트로 일일이 만들기 번거롭다. 이런 경우에 프리팹(Prefab)을 이용하는 것이 올바른 방법이다. 또한 만든 프리팹에 적용할 스크립트도 이미 만들어 놓은 게임오브젝트의 스크립트를 상속(Inheritance)받아서 구현하는 것이 올바른 방법이며 이것이 객체 지향 언어인 C#을 제대로 사용하는 방법이다. 여러 적을 만들면서 클래스의 핵심 기능인 상속, 다형성, 캡슐화가 어떻게 적용되는 지 확인해 본다. 여기서는 적 2개를 다음과 같이 만든다. Enemy1프리팹 , Enemy2 프리팹을 만든다. 각각 Enemy1, Enemy2 스크립트를 만들어 연결한다. 공통인 필드와 메서드는 Enemy스크립트.. 더보기
유니티19_C#_12_다형성 이번에는 객체 지향 언어에서 클래스라는 구조를 지지하는 다형성(Polymorphism)에 대해 알아본다. poly는 many(많은)이라는 뜻이고, morph는 form, shape(모양)이라는 뜻이다. 그래서 다형성은 '많은 모양을 가짐'이라는 뜻이다. 생물학에서 다형성은 유전자의 변이를 나타내는 것과 같이 코딩에서 다형성은 클래스의 메서드가 형태는 같지만 다른 역할로 변이할 수 있다는 것을 말한다. 간단한 예로 앞 글 '상속'에서 보았듯이 base클래스(부모)에서 파생된 derived클래스(자식)가 여러 개 또는 다양한 형태로 만들어질 수 있다는 것이 바로 다형성이다. 메서드 오버라이드(override) override는 '위에 + 올라타다'가 합쳐진 글자인데 기존 상태를 짓밟고 올라타서 다른 것으로 .. 더보기
쌩초보를 위한 기초_24_Inheritance_상속 Inheritance 상속 Inheritance(상속)는 그녀(her)의 안에(in) 넣어서 전달하는 것이다. 그것은 유전자이다. 자신의 유전자를 부모에게서 받아 자식에게 전달하는 것이 상속이다. 마찬가지로 프로그래밍에서의 상속도 같은 역할을 한다. 자식 클래스를 만들 때 부모 클래스의 property(속성)과 기능을 물려받는다. 정확히 말하면 그 속성과 기능을 이용할 수 있다는 뜻이다. 상속은 객체지향 프로그래밍(Object Oriented Programming)의 가장 큰 장점 중의 하나이다. 모든 클래스의 시조(최초) 클래스를 superclass(슈퍼클래스)라 하고 그 이름은 Any 이다. any의 뜻이 '어떤' 이므로 정확한 이름도 없는것 같다. 하여튼 '어떤 클래스(Any Class)'가 클래스.. 더보기