일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 컬렉션
- Scanner
- unboxing
- 빌드
- 자동형변환
- 메소드
- bootstrap
- 싱글턴
- Short
- dependency
- boxing
- 싱글톤
- 내장객체
- 루프
- https://start.spring.io
- Java
- 제너릭
- 언박싱
- wrapper
- 인텔리제이
- 무한
- 박싱
- 스프링
- start.spring.io
- suvlet
- 콜렉션
- Jenkins
- 제네릭
- 클래스
- maven
- Today
- Total
Developer Gonie
[2주차] 45. 패키지, 클래스를 다른 패키지에 만들어보자 & 주의점(클래스, 생성자, 멤버함수를 public으로 만들어야 하는 이유) 본문
[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
'K-DigitalTraining 강의 > 1. Java' 카테고리의 다른 글
[2주차] 47. 다형성, 자식객체들을 부모타입의 참조변수로 한 번에 관리, 매개변수도 부모타입 하나로 자식객체들을 모두 받기가능* (1) | 2022.05.26 |
---|---|
[2주차] 46. 패키지, 자바에 내장으로 미리 만들어져 있는 클래스 import (0) | 2022.05.26 |
[2주차] 44. 접근제어자 4가지(public, protected, default, private) (0) | 2022.05.26 |
[2주차] 43. 상속이랑 비슷한 클래스의 포함관계 (0) | 2022.05.26 |
[2주차] 42. 멤버변수의 'super' (0) | 2022.05.26 |