안녕하세요. 궁금증연구소입니다.
오늘 포스팅 주제는 "Java에서 왜 public을 갖는 클래스는 파일단 하나로 제한할까?"입니다.
자바 프로그래밍 세계에서 한 번씩 들어봤을 것입니다. 각 소스 파일당 하나의 public 클래스만 허용되는 규칙이 있습니다. 자바가 이 규칙을 왜 강제할까요? 이 블로그 포스트에서는 이 제한이 있는 이유와 자바 개발자에게 어떤 이점을 제공하는지 알아보겠습니다.
자바의 주요 특징 중 하나는 클래스 이름과 파일 구조 사이의 명확한 연결을 유지하는 것입니다. 이 연결은 클래스 로딩 프로세스를 간소화하고 코드 가독성을 향상합니다. 자바에서 생성하는 모든 클래스는 이름을 가지며 이 이름은 그 클래스의 정의를 담은 파일 이름과 직접적으로 연관됩니다. 예를 들어, MyClass라는 클래스는 MyClass.java라는 파일에 정의되어야 합니다.
자바가 한 파일에 여러 개의 public 클래스를 허용한다면 어떨까요? 이런 경우에는 각 클래스의 파일 경로를 결정하는 데 모호함이 생길 수 있습니다. 자바 클래스를 컴파일하면 각각의. class 파일로 컴파일됩니다. 클래스를 로드하려면 자바 가상 머신(JVM)이 해당. class 파일의 정확한 위치를 파악해야 합니다. 한 파일당 하나의 public 클래스 규칙을 강제함으로써 자바는 클래스 이름과 파일 경로 사이에 명확한 매핑을 보장합니다. 이렇게 하면 JVM이 클래스를 손쉽게 찾아 로드할 수 있으며 더 효율적인 실행 환경을 구축할 수 있습니다.
Person.java
public class Person {
// 클래스 구현...
}
Address.java
public class Address {
// 클래스 구현...
}
이 예시에서 각 클래스는 자신만의 파일에 정의되며 파일 이름(Person.java 및 Address.java)이 클래스 이름(Person 및 Address)과 일치합니다. 이러한 깔끔한 구성은 클래스와 해당 파일 간의 관계를 이해하기 쉽게 해 줍니다.
자바의 하나의 public 클래스 규칙은 개발자에게 청결한 코드 구성을 유지하도록 격려합니다. 한 파일에 여러 개의 비공개 클래스(패키지 내부 또는 private 클래스)를 포함할 수 있지만, 하나의 public 클래스만 가지는 것은 코드 관리를 간소화하고 클래스 정의를 빠르게 찾을 수 있도록 도와줍니다. 마무리하며, 자바의 하나의 public 클래스 규칙은 클래스 이름, 파일 경로 및 클래스 로딩 사이의 명확한 연결을 보장하기 위해 설계되었습니다. 이러한 관행은 개발 프로세스를 더욱 간소화하고 코드의 가독성과 유지보수성을 향상합니다. 기억해 주세요. 자바의 규칙은 엄격할 수 있지만, 이는 언어 생태계의 견고함과 신뢰성에 기여하는 요소입니다.
자바복습 개념정리#1 (0) | 2023.08.10 |
---|---|
[java] IntStream.iterate() 와 Stream.iterate() 의 차이점은? (0) | 2023.05.12 |
[Java] Locale.Root 사용하는 이유 (0) | 2023.05.12 |
[Java] IntStream의 map 메소드와 Stream<Integer>의 map 메소드의 차이 (1) | 2023.05.10 |
[java] 와일드카드의 쓸모:: 읽을수 있으나, 쓸수 없다(vice-versa) (0) | 2023.04.10 |