Notice
Recent Posts
Recent Comments
관리 메뉴

Developer Gonie

[2주차] 45. 패키지, 클래스를 다른 패키지에 만들어보자 & 주의점(클래스, 생성자, 멤버함수를 public으로 만들어야 하는 이유) 본문

K-DigitalTraining 강의/1. Java

[2주차] 45. 패키지, 클래스를 다른 패키지에 만들어보자 & 주의점(클래스, 생성자, 멤버함수를 public으로 만들어야 하는 이유)

이대곤 2022. 5. 26. 12:17

* 패키지란?

폴더의 개념이다. 관련있는 것들을 하나로 모아두고 관리할 때 패키지를 사용한다.
지금까지는 보통 src 폴더에 클래스를 생성해 왔는데, 이 경우엔 defualt 패키지(폴더)에 모두 그 클래스들이 저장되는 형식이었다. 그런데, 이와 다르게 비슷한 클래스들을 하나로 모아두고 관리하고 싶다면 패키지를 생성해 여기에 저장해두고 import 해서 접근하는 방식을 사용할 수도 있다.

다른 패키지의 클래스,
그리고 그 내부의 생성자, 멤버함수를 public으로 만들어야 하는 이유

* 다른 패키지에 존재하는 클래스, 그리고 그 내부의 메서드, 생성자를 defualt 접근제어자로 정의했다면, 현 클래스에서 접근이 불가능하므로 이들을 모두 public으로 변경해줘서 정상적으로 접근이 가능하도록 하자. 이 이유로 Math 등의 내장 클래스들은 대부분 public으로 정의되어 있다.

 

클래스는 public 이고, 이것의 생성자도 public 이면 단계적으로 호출되기 때문에 객체를 생성하는 과정에서는 문제가 없겠지만, 멤버함수가 default 라면 객체를 통해 이 멤버함수를 호출하는 부분에서 오류가 날 것이다. 이 이유로 다른 패키지에 선언되는 클래스의 경우 클래스, 생성자, 멤버함수는 필히 public 으로 해주는 것이 일반적이다.


새로운 패키지를 생성해서 클래스를 그 안에 추가하는 방법1

- src - New - Package, Name에 패키지(폴더) 구조 입력.

  아래와 같이 Name을 입력하면 com이라는 폴더 안에 javastudy 폴더가 생성된다.

새로운 패키지를 생성해서 클래스를 그 안에 추가하는 방법2

- 평소와 같이 클래스를 생성해주면서 src - New - Class,
  Package란에 생성할 패키지 혹은 클래스가 추가될 패키지를 적어주면 됨.

  아래와 같이 Name을 입력하면 com이라는 폴더 안에 javastudy 폴더가 생성되고 그 안에 클래스가 생성됨.


다른 패키지에 존재하는 클래스를 사용하고자 할 때

import com.javastudy.Car; //com.javastudy패키지 안에 있는 Car 클래스만 import
 
 
 
 
 

 

 
 
 
Comments