본문 바로가기
Spec UP - Backend/나도코딩의 자바기본편

Chap_07. 패키지

by TIS_Ha 2023. 4. 28.
반응형

하나의 프로젝트를 진행할 때 여러개의 클래스로 이루어지는데 서로 연관된 클래스들끼리 묶어두는 역할이 패키지이다.
패키지 안에 클래스를 만들게되면 클래스 맨 상단에 package 정보를 반드시 명시해야하며 대부분 IDE를 이용하면  패키지 정보를 자동으로 정의해준다.

아래와 같이 상단에 package chap_07; 로 패키지 정보가 정의되며 해당 정보를 지우면 오류가 발생된다.


만약 다른 패키지에 있는 클래스를 사용해야하는 경우에는 해당 패키지 내 클래스를 사용할 것이라는 것을 알려줘야한다.
그것을 알려주는 역할이 import이다.

 

접근제어자 학습때 예제를 살펴보면 

package chap_08 의 _00_AccessModifierTest 클래스에서

package chap_07에 있는 BlackBoxRefurbish 클래스를 활용하여 객체를 생성하였다.

 

이 과정에서 아래와 같이 import chap_07.BlackBoxRefurbish; 를 명시하였다.

즉 chap_07 패키지 내에 BlackBoxRefurbish를 불러오는 것을 의미한다.

만약 chap_07 패키지 내의 특정 클래스가 아닌 전체 클래스를 가져오기를 원하는 경우에는

아래와 같이 import 패키지명.* 로 불러오면 해당 패키지의 전체 클래스를 import할 수 있다는 점을 참고하자.

import chap_07.*;

똑같은 기능을 가진 클래스를 개발자들이 각각 생성하게 된다면 유지보수/관리가 어려워질 것이다.

그래서 이미 잘 만들어진 클래스가 있는 경우에는 해당 클래스를 Import 하여 처리하게된다.

 

대표적인 랜덤클래스를 통해 학습해보자.

랜덤 클래스는 어떤 값을 랜덤으로 뽑을 수 있는 기능을 가진다.

 

main 메소드 내에 Random 입력하면 java.utill이 확인될 것이다.

해당 클래스를 선택하면 아래와 같이 import java.util.Random; 이 자동으로 불러져 온다.

랜덤클래스 사용법) import java.util.Random;

Random random = new Random();
System.out.println("랜덤정수 : " + random.nextInt());

위와 같이 출력하면 int 범위내의 정수형 값을 랜덤으로 반환해준다.

 

랜덤클래스 범위 지정)

만약 해당 값의 범위를 지정하고 싶다면 아래와 같이 입력할 수 있다. 

random.nextInt( 10 ); 과 같이 값을 입력해주면 0 이상 10 미만의 값 중 랜덤으로 반환되도록 범위를 지정할 수 있다.

Random random = new Random();
System.out.println("랜덤 정수 (범위) : " + random.nextInt(10)); //0 이상 10 미만

만약 로또번호를 랜덤으로 뽑는다면 어떻게 해야할까?

로또번호는 1이상 45이하의 숫자이다.

random.next(45) : 0 이상 45 미만 숫자를 랜덤으로 반환하므로 + 1의 연산을 하면 로또번호의 동일한 범위를 지정할 수 있다. 

        System.out.println("로또번호 : " + (random.nextInt(45)+1));

실수형 랜덤클래스)

random.nextDouble() 메소드 실행 시 0.0 이상 1.0미만의 실수값을 랜덤으로 반환해준다.

 

Random random = new Random();
System.out.println("랜덤 실수 : " + random.nextDouble());

단, 실수형 랜덤클래스는 정수형처럼 random.nextDouble(숫자)로 범위지정을 할 수 없다.

만약 5.0 이상 10.0 미만의 실수를 랜덤으로 뽑아야하는 경우에는 아래와 같이 최소값과 최대값 이용해 범위를 설정할 수 있다.

Random random = new Random();
double min = 5.0;
double max = 10.0;
System.out.println("랜덤 실수 (범위) : " + (min + (max-min) * random.nextDouble()));

 

Boolean형 랜덤클래스) 

random.nextBoolean() 실행 시 true 또는 false 값을 랜덤으로 반환해준다.

Random random = new Random();
System.out.println("랜덤 boolean : " + random.nextBoolean());

 


랜덤클래스 외에도 자바에 유용한 클래스는 다양하다.

Ex)

Math, Scanner, String Builder, StringBuffer, String Tokenizer

BigInteger, BigDecimal

LocalDate, LocalTime, LocalDateTime, DateTimeFormatter

 

 

반응형

'Spec UP - Backend > 나도코딩의 자바기본편' 카테고리의 다른 글

Chap_07. 메소드 오버라이딩  (0) 2023.04.28
Chap_07. 상속  (0) 2023.04.28
Chap_07. 접근 제어자  (0) 2023.04.27
Chap_07. Getter & Setter  (0) 2023.04.26
Chap_07. 생성자  (0) 2023.04.25

댓글