자바 패키지 설명 및 패키지 사용하여 문제푸는 법을
간단하게 학습 및 포스팅하였습니다.
Java에서 패키지(package)란 관련된 클래스들을 그룹화하여 관리하기 위한 방법입니다.
패키지는 폴더 구조와 비슷한 형태를 가지며, 클래스 파일들을 서로 다른 패키지에 넣어서 관리하게 됩니다.
첫 번째로,
패키지를 사용하여 클래스 이름 충돌을 방지할 수 있습니다.
즉, 서로 다른 패키지에 있는 동일한 클래스 이름이 충돌하는 경우를 방지할 수 있습니다.
두 번째 이점,
클래스들을 논리적으로 그룹화하여 개발을 용이하게 합니다.
즉, 관련된 클래스들을 한 곳에 모아서 개발하고 유지보수하기 용이합니다.
패키지는 다음과 같은 형태로 작성됩니다.
java
package com.example.mypackage;
위의 예시에서 패키지 이름은 "com.example.mypackage"
입니다.
패키지 이름은 일반적으로 역순 도메인명을 포함하며, Java에서 제공하는 패키지와 충돌하지 않도록 한 개발자가 패키지를 지을 때 보통 사용하는 패턴입니다.
패키지 선언은 소스 파일의 첫 줄에 위치해야 하며, 패키지 선언을 생략할 수도 있습니다.
이 경우에는 이 소스 파일이 속한 패키지가 default 패키지가 됩니다.
예시) [ 2, 3, 9, 8, 0, 8, 5, 7, 2, 1 ]
// 이때, 0은 출력되면 안된다.
9 10 9 3 2 5 10 3 4 5
public class MathRandom {
public static void main(String[] args) {
// [1] : 반복문 --> 랜덤 숫자 생성
// 랜덤 숫자 생성중 0을 제외하려면 ? --> ???
for (int i = 0; i < 10; i++) {
System.out.print((int)(Math.random()*10+1)+" "); // 이 함수가 반환하는 타입이 double 로 실수임 --> 따라서, 정수형으로 받게되면 ERR. --> 형변환 해줘야함
// --> 이렇게 해주면 0이 출력될 수 있음.
// 랜덤 숫자 생성중 0을 제외하려면 ? --> 1. 결과로 나오는 숫자에 1을 더해준다. (어차피 1을 더해줘도 랜덤해주는 숫자이기 때문에 무상관)
// 또는, 2. 배열을 지정해줘서 if문 돌리기 (내생각)
}
}
}
여기서 문제 ,
public class MathRandom {
public static void main(String[] args) {
// [1] : 반복문 --> 랜덤 숫자 생성
// 랜덤 숫자 생성중 0을 제외하려면 ? --> ???
for (int i = 0; i < 10; i++) {
System.out.println((Integer)(Math.random()*10)); // 이 함수가 반환하는 타입이 double 로 실수임 --> 따라서, 정수형으로 받게되면 ERR. --> 형변환 해줘야함
}
}
}
--> 결과값은 ?
Math.random() 메소드는 double 값을 반환합니다.
double 값을 정수 값으로 형변환 할 때 Integer 클래스를 사용하면 안되는 이유는 Integer 클래스의 형변환 메소드는 double 값을 인자로 받을 수 없기 때문입니다.
따라서, int 타입으로 바로 형변환하거나, double 값을 long으로 변환한 뒤 int로 형변환하는 방법을 사용해야 합니다.