파라미터가 프로퍼티 또는 상위 파라미터와 같은 이름을 가지는 것
- 코드 이해를 어렵게 만듦
class Forest(val name: String) {
fun addTree(name: String) { ... }
}
class Forest<T: Tree> {
fun <T: Tree> addTree(tree: T) { ... }
}
- 클래스와 함수의 타입 파라미터가 독립적으로 동작
- 동일한 타입이라면 함수가 클래스 타입 파라미터를 사용하는 것이 적합
- 독립적이라면 타입 파라미터를 다르게 네이밍하는 것이 적합