테트리스 강좌

초등학생도 쉽게 따라할 수 있는 Unity 테트리스 게임 개발 강좌 자료

객체 지향 프로그래밍 (OOP)

📖 개념 설명

객체 지향 프로그래밍은 현실 세계의 사물을 코드로 표현하는 방법입니다.

핵심 개념:

테트리스 예시:

💡 용어: 클래스 안의 변수 = 멤버, 클래스 안의 함수 = 메소드.
왜 클래스에 넣는지, “저장소를 다루는 함수”가 뭔지는 멤버와 메소드 문서를 참고하세요.


🛠️ 실습: 두 클래스가 협력하는 구조 만들기

목표: GameBoard와 Block 두 클래스가 서로 참조하여 동작하는 것을 확인합니다.

이 실습 전용 씬 만들기 (환경 설정)

먼저 이 실습 전용 씬을 만든 뒤 아래 순서로 진행합니다. (자세한 씬 만드는 방법은 개념 실습 테스트 환경 가이드의 씬 만드는 방법 참고.)

이 실습만 할 전용 씬이 없으면 아래 순서로 한 번만 만듭니다. (이미 ConceptTest_OOP 씬이 있으면 File → Open Scene으로 열고 아래 실습만 이어서 하세요.)

  1. File → New Scene → Basic (Built-in) 또는 Empty → Create
  2. File → Save As → 저장 위치: Assets/Scenes → 파일 이름: ConceptTest_OOP → Save
  3. 아래 실습은 모두 이 씬에서 진행합니다. (다른 문서로 왔다 갔다 하지 않습니다.)

수행 과정

  1. Unity에서 새 C# 스크립트 생성
    • 이름: OOPTest
  2. 다음 코드 작성 ```csharp using UnityEngine;

public class OOPTest : MonoBehaviour { void Start() { // “게임 보드” 객체 생성 SimpleBoard board = new SimpleBoard(); board.width = 10; board.height = 20;

    // "블록" 객체 생성
    SimpleBlock block = new SimpleBlock();
    block.x = 5;
    block.y = 19;
    
    // 보드가 블록 위치가 유효한지 확인 (협력)
    bool valid = board.IsValid(block.x, block.y);
    Debug.Log("블록 위치 (5, 19) 유효? " + valid);
    
    block.x = 99;  // 범위 밖
    valid = board.IsValid(block.x, block.y);
    Debug.Log("블록 위치 (99, 19) 유효? " + valid);
} }

public class SimpleBoard { public int width; public int height;

public bool IsValid(int x, int y)
{
    return x >= 0 && x < width && y >= 0 && y < height;
} }

public class SimpleBlock { public int x, y; } ```

  1. Play 후 Console 확인
    • (5, 19) 유효? True, (99, 19) 유효? False 출력
    • → 보드와 블록이 서로 협력하는 구조를 확인!

← 개념 목록으로