본문 바로가기
작업

유니티 공부 C# 클래스

by SOGUL 2023. 7. 16.

* 클래스를 사용하면 관계가 있는 변수와 메서드를 하나로 합칠 수 있다 : 스크립트 관리가 쉬워진다

 

class 클래스명

{

 멤버 변수 선언;

 멤버 메서드 구현;

}

 

* 인스턴스.......?

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour  //플레이어 클래스 선언
{

    private int hp = 1200;  // 플레이어의 HP와 공격력을 나타내는 멤버 변수 선언
    private int power = 350;


    public void Attack()
    {
        Debug.Log(this.power + " 데미지를 입혔다 ");

    }

    public void Damage(int damage)
    {
        this.hp -= damage;
        Debug.Log(damage + " 데미지를 입었다");
    }

}

public class Test : MonoBehaviour
{
    void Start()
    {
        Player myPlayer = new Player();  // 위에서 만든 Player 클래스의 인스턴스를 만들어 사용. Player형의 myPlayer 변수를 선언. 그리고 실체인 인스턴스를작성해 대입
        myPlayer.Attack(); // 인스턴스를 가진 Attack 메서드를   변수명.멤버 메서드명() 형태로 호출
        myPlayer.Damage(30); 

    }


}

 

* 인스턴스를 만드려면 new 키워드 다음에 클래스명()을 쓴다

* 변수명.멤버 메서드명() 형태로 호출

 

# 접근 수식자

 

* public과 private 키워드는 접근 수식자 라고 한다

    : 00.xx 라고 썼을 때 다른 클래스에서 멤버로 접근 가능한지 여부를 나타냄

* public이 붙어있는 멤버는 다른 클래스에서 호출가능

* private는 불가능

 

*pfotected: 같은 클래스와 해당 클래스의 서브클래스에서 접근가능

 

# this 키워드

 

* this 는 자신의 인스턴스를 가리키는 키워드

* this를 붙이지 않아도 자기 클래스의 멤버 변수 사용 가능. 

* 객체 지향....ㅠ?

 

 

# 상속

 

* : MonoBehaviour 는 상속이라고 한다. 유니티가 준비한 Monobihaviour 클래스의 기능을 Test 클래스에 집어넣겠다고 선언하는 것

* MonoBehaviour  클래스는 게임 오브젝트를 구성하는 기본 기능을 멤버 변수와 메서드로 준비한 클래스

따라서 게임 오브젝트에 붙여 실행하는 스크립트는 MonoBehaviour 클래스를 상속해야 한다

 

 

 

 

 

'작업' 카테고리의 다른 글

유니티 Hub 모듈 설치 오류 문제  (0) 2023.07.16
유니티 공부 C# Vector 클래스  (0) 2023.07.16
유니티 공부 C# 메서드  (0) 2023.07.13
유니티 공부 C# 배열  (0) 2023.07.13
유니티 공부 C# for문  (0) 2023.07.12