개념정리 : 접근제어자 / 싱글톤 / 프로퍼티

2025. 10. 23. 21:28개발

 

 

 

1. 접근제어자

 

   접근제어자 : 클래스나 멤버 (변수, 메서드 등)이 외부에서 접근 가능한 범위를 제어하는 문법

 

public 어디서든 접근 가능 외부 cs에서도 접근 가능
private 자기 클래스 내부에서만 외부에서 접근 불가 xx
protected 자기 자신 + 상속 받은 클래스 부모 -> 자식

 

 

 

 

2. 싱글톤 패턴

 

싱글톤 패턴은 "하나"의 인스턴스만 생성하여 사용하는 디자인 패턴이다.

즉, 인스턴스가 필요할 때, 똑같은 인스턴스를 만들지 않고, 기존의 인스턴스를 활용하는 것!

 

 

쓰는 이유가 뭔데? 

 

1. 메모리 누수 - 같은 인스턴스를 계속 생성해대면 메모리 낭비임 

2. 최초 생성한 동일한 객체를 사용하기 위해!! 

 

 

싱글톤 패턴 만드는 법

 

public class GameManager: MonoBehaviour
{

//1. 싱글톤 인스턴스 생성 (단 하나!)
	public static GameManager Instance {get, private set;}
    
    void Awake()
    {
    	//2. 중복체크
    	if(Instance!=null && Instance!=this)
        {
            Destroy(gameObject);
            return;
        }
    }
    
    Instance = this; //3. 인스턴스 할당
    
    DontDestroyOnLoad(gameObject);

}

 

개념정리 참고 자료: https://velog.io/@yarogono/C-Unity-%EC%8B%B1%EA%B8%80%ED%84%B4Singleton-%ED%8C%A8%ED%84%B4

 

 

3. 프로퍼티 

 

코드 쓰면서 제일 개념 안잡히고 모르겠었던 프로퍼티....시간 들여서 배우는 중인데 사실 아직도 잘 모르겠고요

 

 

프로퍼티란? 

정보은닉을 유지하면서 멤버 변수의 값을 안전하게 읽고 쓰는 (get/set)방법을 제공하는 기능이다. 

  • 정보은닉: private으로 선언된 멤버 변수에 직접 접근하는 것을 막아 데이터 무결성을 유지합니다.
  • 접근성 제어: public처럼 외부에서 접근이 가능하게 하면서도, get과 set 접근자를 통해 값의 읽기/쓰기 로직을 제어할 수 있습니다.
  • 편리함: get과 set 메소드를 일일이 호출하는 대신, public 변수를 다루는 것처럼 간결한 문법으로 사용할 수 있습니다.
  • get {…} 접근자 : 멤버 변수로 부터 값을 읽어옴
  • set {…} 접근자 : 멤버 변수에 값을 할당함
  • value : set 접근자의 암묵적 매개 변수로 즉, 멤버 변수에 저장하고 싶은 값
  • get, set의 내용이 한 줄 일때는중괄호를 생략 가능

 

 

 

프로퍼티 개념 참고자료:

https://velog.io/@seungho034/345345