본문 바로가기

추상클래스

유니티29_게임 제작 과정 07_아이템 만들기 지금까지 살펴본 C# 구문을 이용해서 슈팅 게임을 계속 만들어 본다. Item 만들기 게임에서 Item(아이템)은 다양한 역할이 있다. 이 게임에서는 아이템을 먹으면(충돌하면) Ship의 속도를 높이는 것과 coin(동전) 2가지 아이템을 만든다. 이 2가지 아이템은 공통으로 가지는 행위(메서드)가 있다. 아이템을 작동하다 아이템을 몇 초 후 사라지게 하다. 그러므로 이 추상 행위를 가진 추상클래스를 만들고 행위는 해당 아이템 스크립트에서 아이템에 맞게 구현하면 된다. 추상클래스 만들기 유니티에서 Practice Shooting Game 프로젝트를 불러온다. Assets의 Scripts 폴더에 Item.cs 스크립트를 만든다. 스크립트를 아래와 같이 입력한다. 7~8번줄에서 추상메서드를 정의하면 클래스는.. 더보기
유니티23_C#13_추상 클래스(Abstract class) Abstraction(추상화 개념) 앞에서 추상화(Abstraction)라는 개념은 객체지향언어(OOP)의 출발점이자 기본 원칙이라고 했다. 피카소 같은 추상 화가의 추상화를 보면 다음과 같은 느낌을 가진다. 자신의 생각 또는 상상을 그림으로 표현했다. 자세하게 묘사하는 것이 아니라 기본 형태만 보여 준다. 코딩에서 사용하는 추상화(abstraction)도 미술의 추상화(abstract art)와 비슷한 형태를 가진다. 예를 들면 객체를 만드는 추상적인 과정이나 사용자에게 기본적인 내용만 보여주고 숨겨야 할 데이터는 나타내지 않는 것들이 그렇다. 아마 객체 지향 언어의 근간이 되는 개념에 abstraction(추상화)라는 이름을 붙인 것도 '추상'이라는 단어가 가지는 의미와 유사해서 붙였을 것이다. cl.. 더보기
쌩초보를 위한 기초_28_Abstract Class & Interface Abstract Class (추상 클래스) 와 Interface (인터페이스) 개요 ab,abs는 '밖으로'라는 뜻이고 tract는 '끌다'라는 뜻이다. 그래서 abstract는 '(생각을) 밖으로 끄집어 내어 (개략적으로 표현하다)'라는 뜻이다. 즉, '추상적인, 관념적인'이라는 뜻이다. 그래서 코딩에서 abstract(추상)이라는 말은 완성품이 아니라 모형틀과 같다. 그래서 추상 클래스나 추상 함수는 선언 부분만 있고 실행 부분은 없다. 추상클래스는 클래스를 처음부터 완성하지 않고 일단 공통적인 기능과 개략적인 틀만 만든 후 구체적인 내용은 상속받는 하위 클래스에서 구현한다. 추상 클래스를 만들려면 class 앞에 키워드 abstract를 붙인다. 추상 클래스에 포함된 property(속성)나 met.. 더보기