굉장히 헷갈렸는데,
Assert.IsNotNull() 의 경우 Null 이 아닐 경우에 통과 -> 아무런 Assertion 을 발생시키 않음
Assert.IsNull() 의 경우 Null 일 경우 통과 -> 아무런 Assertion을 발생시키지 않음
해당 내용에 대한 chatGPT 내용을 첨부함. 그래서 일반적으로 Awake 에서 할당이 되었는지 확인하기 위해서는
Assert.IsNotNull() 을 사용하면 된다.
유니티의 `Assert.IsNotNull()` 및 `Assert.IsNull()`은 둘 다 주어진 객체가 null인지 아닌지를 확인하는 데 사용됩니다. 그러나 이 두 함수는 각각 다른 상황에서 사용됩니다.
1. **Assert.IsNotNull()**:
- `Assert.IsNotNull()` 함수는 인자로 전달된 객체가 null이 아닌지 확인합니다. 즉, 객체가 존재하고 null이 아닌 경우에만 통과됩니다.
- 이 함수는 보통 프로그램이나 게임 실행 중에 중요한 객체나 컴포넌트가 null이 되지 않도록 보장하고자 할 때 사용됩니다. 예를 들어, 필수적인 컴포넌트나 리소스가 누락되지 않았는지 확인할 때 사용됩니다.
2. **Assert.IsNull()**:
- `Assert.IsNull()` 함수는 인자로 전달된 객체가 null인지 확인합니다. 즉, 객체가 null인 경우에만 통과됩니다.
- 이 함수는 특정 조건에서 객체가 null임을 보장하고자 할 때 사용됩니다. 예를 들어, 객체가 초기화되기 전에 null로 설정되어 있어야 하는 경우에 사용될 수 있습니다.
즉, `Assert.IsNotNull()`은 객체의 존재 여부를 확인하고, `Assert.IsNull()`은 객체가 null인지를 확인합니다. 이러한 Assert 함수들은 주로 디버깅 목적으로 사용되며, 코드 실행 중에 조건을 확인하여 오류가 있는지 검사하는 데 유용합니다.
'Unity' 카테고리의 다른 글
Time.timeScale = 0f; 형태로 구현한 일시정지 기능에서의 UI 애니메이터 동작 하지 않는 문제 해결 방법. (0) | 2024.02.10 |
---|---|
DontDestroyOnLoad() 사용시 Awake에서 컴포넌트 할당 후 씬을 리로드 했을때의 문제점과 해결방안. (0) | 2024.02.09 |
스크립트 분리를 통한 OnDestroy() 메서드 실행 (0) | 2024.02.09 |
유니티에서 프리팹 내보내기를 통한 다른 프로젝트의 프리팹 활용하기. (0) | 2024.02.07 |
Animated Button 클래스를 구현할때 [Serializable] 의 사용 유무에 따른 유니티 인스펙터에서의 차이점. (0) | 2024.02.06 |