강의 내용 중에 중요하다고 생각한 것
3강에서 인터페이스를 사용해서 데미지 입는 함수의 정의를 강제함
인터페이스에는 많은 특징이 있는데 그 중에 구현을 강제하는 특징이 있다.
- 계약 : 인터페이스는 멤버들의 집합으로 이루어져 있습니다. 클래스나 구조체는 해당 인터페이스를 구현함으로써 인터페이스가 정의한 멤버들을 반드시 구현해야 한다.
public interface IMyInterface
{
void MyMethod();
}
public class MyClass : IMyInterface
{
public void MyMethod() // 반드시 구현해야 한다.
{
// 내용 구현함
}
}
인터페이스는 아직 헷갈리기 때문에 델리게이트처럼 나중에 따로 제대로 정리하는 시간을 가지고싶다.
사실 밑에 써놓은 것들을 다 정리하려 했으나 일정 관리 실패로 이 글과 내 수첩에 할 일 목록으로 빼놓을 생각이다. 아마..설에 시간 남으니까 그 때 잔뜩 정리할 예정이다.
급한 것이 아니니 일단 어떤 부분에서 궁금점과 중요함을 느꼈는지 적어보겠다.
이 함수의 기능보다는 인터페이스 리스트랑 TryGetComponent
를 같이 연계한 내용을 정리할 것.
코루틴은 비동기 프로그래밍의 한 종류인데, 사용법과 어느 부분에 사용하면 좋을지 따로 C#이나 유니티 시리즈에 넣을 예정.
오브젝트의 부드러운 변화를 표현하기 위한 기능이기도 하고, 시각적인 부분에 많이 쓰일 것 같다.
색의 변화를 나타내는 것인데, 이 것은 '유니티의 Gradient'보다는 Gradient
자체의 개념을 따로 정리할 필요가 있다고 생각함.
이 함수에 각도 계산이 이해가 되지 않음.
public class Solution {
public string solution(string s, int n) {
char[] charArr = s.ToCharArray();
for(int i = 0; i < s.Length; ++i)
{
if(charArr[i] == ' ') continue;
int num = (int)charArr[i] + n;
if(charArr[i] >= 'A' && charArr[i] <= 'Z')
{
if(num > 'Z')
num -= 26;
}
else
{
if(num > 'z')
num -= 26;
}
charArr[i] = (char)num;
}
return new string(charArr);
}
}
string은 문자열의 요소를 임의로 바꿀 수 없어서 char형의 배열로 변환해준 후에 교체