[Item25] 자바에는 왜 top-level function이 없을까?
톱 레벨 클래스는 한 파일에 하나만 담으라는데 이 말을 듣기 전에도 무의식적으로 수행하고 있었다 얼마 전 Kotlin in action을 깔짝 보고 top-level function을 써봤는데 Item25를 읽으면서 자바는 왜 안 되는지 궁금해졌다 그 이유는 자바의 초기 설계와 관련이 깊은데 자바에서는 모든 것이 객체다 다른 말로 하자면 모든 것이 객체 안에 있어야 한다 그렇기 때문에 톱 레벨에는 클래스를 두고 그 안에 변수나 메서드를 둬야 한다 비록 그 클래스가 아무런 의미 없이 컨테이너 역할을 하더라도 말이다 코틀린에서는 아마 이런 불필요한 껍데기를 두는 게 꼴 뵈기 싫어서 톱 레벨에 변수나 함수를 선언할 수 있도록 만든 거 같은데 JVM 언어이고 자바와의 상호 운용성을 제일로 치기 때문에 컴파일 시..
Java/Effective Java
2022. 3. 1. 22:51