어제는 클래스에 Generic을 사용해서 예시를 보였었다.
오늘은 Property와 생성자 차례다.
public class YesGeneric<T>
{
private T example;
public T Example
{
get
{
return example;
}
set
{
example = value;
}
}
public YesGeneric(T value)
{
Example = value;
}
public void PrintExample()
{
Debug.Log(Example);
}
}
어제 작성했던 코드 YesGeneric를 그대로 활용했다.
기존에 Public 변수였던 example을 private으로 바꿔주었다. 그리고 프로퍼티 Example 을 추가해주었다.
생성자를 이용해 처음 클래스를 선언할때 부터 값을 지정해주면, 다른 클래스에서 사용하고자 할때는 이렇게 사용할 수 있다.
public class Test : MonoBehaviour
{
private void Awake()
{
YesGeneric<string> genericTestA = new YesGeneric<string>("막상 해보니 별거 없다.");
genericTestA.PrintExample();
}
}
-------------------------------
Log:
막상 해보니 별거 없다.
핵심은 어제 내용이고, 그냥 이정도도 같이 활용할 수 있다~ 정도로 알면 될 듯 하다.
커플링 : 두 오브젝트가 잘 알고 지내고 하드하게 연결되어 있는 정도를 뜻한다.
좋은 코드는 커플링이 적은 코드이다.
A 와 B 사이에 커플링이 심하다는 말은 A 와 B 가 서로 엮여있는 정도가 높다는 말이다.
때문에 A 가 없어지면 B 의 코드를 수정하기가 쉽지 않다.
커플링을 줄이면 A 와 B 가 서로 모르는 사이가 되기 때문에 둘 중 하나가 없어져도 코드를 수정하기 수월해지거나 수정할 필요가 없게 된다.
너무 좋은 글이 있어서 잠시 복붙좀 하겠다..
너무 좋은 설명이다.
A클래스에 있는 이벤트에 B와 C에서 수정을 해줄 수 있지만, 실행은 오직 A클래스에서만 할 수 있다.
그렇게되면 B와C가 A와 연결된것은 오직 이벤트 연결뿐이다.
커플링이라는 말 자체에 큰 의미는 없는것같다. 위 예제만으로 이해가 돼버린다.
https://ansohxxn.github.io/
구글링할때 되게 자주보이는 분이다. 디자인도 예쁘고 볼때마다 참 글을 잘 정리해서 쓰신다.
.
.
.
오늘 회사에서 CTO님이 내 일을 도와주셨는데, 내가 정확히 어떤 문제에 부딪혔는지도 제대로 설명을 못했었다.
이게 애매하게 알고있어서 설명을 제대로 못하는건지,
그냥 내가 말을 조리있게 못하는건지, 둘 다 인건지 모르겠다.
책을 좀 읽어야겠다.