본문 바로가기

JAVA

[JAVA] Public Class 꼭 사용하는 이유? (feat. Public Class VS Class)

스터디 주제를 정하기 위해 서칭하는 중

'Public Class 꼭 사용하는 이유가 무엇일까 ?' 라는 글을 보게 되었다. 

 

명확한 해답이 나와있지는 않았지만 궁금해져서 스터디 주제로 넣어보기로 했다. 

 

 Public Class 꼭 사용하는 이유?

  • 간단하게 말해 외부에 노출하고 싶은 class를 public class로 지정한다. (pubic 접근 제한자 특성)
  • 객체 지향에서는 하나의 클래스 보다 작은 열개의 클래스가 더 좋은 경우가 많다.
  • Main 부분에서 Public Class를 가져다 사용함으로 모든 클래스를 활용할 수 있게 만드는것이다.

 

Public Class VS Class 두개의 차이점은 무엇인가?

Public Class의 이름은 파일명과 동일해야하며,

Class는 파일명과 동일하지 않아도 문제되지 않는다.

 

자바에는 클래스 명 앞에 Public이란 접근제어자를 추가하면

그 클래스의 이름은 파일명과 동일해야만 하는 규칙이 있다.

 

그럼 왜 이런 규칙을 정한것인가?

 

보통 이렇게 하나의 자바파일에 여러개의 클래스를 작성하는 경우에

하나의 대표 클래스를 지정하고 파일명과 동일하게 하는것이

코드의 가독성에 도움이 되기 때문이라고 한다.

 

 

아래의 예시를 통해 확인해보자

Program.java

class program {
}

해당 클래스 파일은 문제없이 컴파일이 잘 된다.

위 소스 파일에 Class파일을 하나 더 추가해보자.

 

class Program {
}

class Program2 {
}

두개의 Class도 역시 문제없이 컴파일이 잘된다.

그렇다면 아래의 Program2를 Public Class로 바꾼다면 어떻게 될까?

 

class Program {
}

public class Program2{
}

해당 파일은 컴파일 에러가 발생한다.

위에서 말했듯이 파일명과  Public Class의 이름이 같아야한다.

파일명 : Program /  Public Class명 : Program2 로 현재 이름이 다르기 때문에 에러가 발생한다.

 

public class program{
}

class program2{
}

이렇게 파일명과 맞춰주게 된다면 문제없이 컴파일이 될것이다.

 

 

 

사소하지만 차이점 잘 알아두자 ❣


Reference

https://blog.naver.com/PostView.nhn?blogId=kjhkjh0929&logNo=221080821822&categoryNo=23&parentCategoryNo=0&viewDate=&currentPage=2&postListTopCurrentPage=1&from=postView

https://cbw1030.tistory.com/39