Ответ
Нет, лучше избегать таких ситуаций. Если extension-функция имеет то же имя, что и метод класса, при вызове всегда будет использоваться метод класса, а extension просто не будет видна в этом контексте. Это может привести к путанице.
fun String.length() = 42 // Не будет работать!
fun main() {
println("test".length()) // Выведет 4 (реальный length)
}
Рекомендуется давать extension-функциям осмысленные имена, которые не конфликтуют с существующими методами класса. Например, если нужно добавить метод для проверки длины строки, можно назвать его customLength() или safeLength().