개요

개발에서 중요한 것 중 하나는 반복을 줄이고, 의미 있는 단위로 코드를 나누는 것이다.

이러한 구조화를 가능하게 해주는 메소드와 구조체를 알아본다.

메소드

객체 지향 프로그래밍 언어에서 사용하는 용어로, C와 C++에서는 함수로, 파스칼에서는 프로시저라고 부르는 메소드에 대해서 알아보자.

메소드란?

메소드는 프로그램의 동작을 하나의 기능 단위로 나눈 것으로,

코드를 재사용하고 가독성을 높이며 유지보수를 수월하게 한다.

플레이어 점프, 데미지 계산, UI 갱신 등 게임 내의 행동 처리 대부분을 메소드로 구현한다.

기본 구조

메소드의 기본 구조는 다음과 같다.

[접근제한자]<반환형> <메소드이름>([매개변수들])
{
    // 실행할 코드
    return 값; // 반환형이 void가 아닐 경우
}

[접근 제한자]는 메소드에 접근할 수 있는 범위를 설정한다

주로 public, private, protected 등을 사용한다.

C#에서는 접근 지정자를 명시하지 않으면 자동으로 private 로 설정된다.

대상 디폴트 접근 지정자 설명
클래스 멤버 (필드, 메소드 등) private 클래스 내부에서만 접근 가능
클래스 자체 (namespace 내부) internal 같은 어셈블리(프로젝트) 내에서 접근 가능
인터페이스 멤버 public 강제적으로 모두 공개
열거형(Enum) public (사실상 내부 멤버도 공개) enum 항목은 외부에서도 접근 가능

Unity에서 일반적으로 사용하는

MonoBehaviour스크립트들은 필드에 public 또는 [SerializeField] private

명시하지 않으면 인스펙터에 노출되지 않는다