확장 메서드가 언제 사용되는가
1. 상속으로 기능 확장을 하기 어려운 경우
- sealed : 해당 클래스를 상속할 수 없게 만든다.
2. 상속으로 기능을 확장하면 기존 코드의 수정이 필요하다.
- 상속으로 기능을 확장하는 것보다 확장 메서드를 쓰는 것이 간편하다.
- 상속을 통해 새로운 기능을 넣으려면 기존 코드를 많이 수정해야한다.
확장 메서드를 사용하기 위해선 static
의 개념이 필요하다.
static의 간단한 개념 설명은 아래에서 설명하겠다.
1. 정적 맴버
static
으로 선언된 변수나 메서드는 클래스 자체에 속하고, 인스턴스를 생성하지 않아도 접근이 가능하다.2. 정적 변수 (Static Variable)
3. 정적 메서드 (Static Method)
4. 정적 클래스 (Static Class)
요약
static
키워드는 클래스 맴버가 인스턴스가 아닌 클래스에 속함을 의미한다.위 코드를 보면 알다시피
myTransform.position = Vector3.zero;
처럼 일일이 작성할 필요가 없고 위에 만들어놓은ResetTransform()
확장 메서드를 사용하면 되서 편리하다.
그 외에도 확장 메서드를 통해서 자신이 자주 사용할 것 같은 기능을 확장 메서드로 개발하여 사용할 수 있기에 불필요한 코드를 줄일 수 있다.
또한 쉽고 간편하기에 쓸 수 있는 상황이 많다.