728x90
반응형
패키지
클래스를 카테고리로별로 관리하기위해 만든것. 체계적으로 클래스를 관리하도록 도와준다.
【패키지선언】
package 패키지명;
※네이밍컨벤션
패키지명은 소문자로 만든다.
패키지 사용법
예를들어
나는 학교의 선생님인데 아이들의 인적사항이나 성적정보를 효율적으로 관리하려한다.
class Person에는 이름,나이,주소
class Student에는 이름, 국어성적,영어성적
※
어느쪽이든 Student라고 써도 이상하진않다.
위 2개의 클래스는 내용은 다를순있지만 학생 정보라는것에는 틀림없다.
그래서 패키지를 만들어 넣어두자.
aaa패키지에 Person클래스와 Student클래스를 묶어두었다. (관리가 용이함)
이제, Person클래스와 Student클래스를 살펴보자.
class Person
package aaa;
public class Person {
public String name;
public int age;
}
class Student
package aaa; //패키지이름과 위치가 다르면 에러!
//[이름,나이,주소]데이터를 저장하는 학생정보 클래스
public class Student {
public String name;
int age;
String address;
//같은 패키지에 있는 다른 class는 그냥 사용가능
Person p=new Person();
}
class를 만들었으니 메인에서 호출해보자 (클래스만 만든다고 기능을 사용할수있는게 아니다. 객체를 만들자 )
class Main
///bbb패키지 안에있는 Student클래스를 편하게 사용하도록 .. 미리 불러오기
//import bbb.Student;
//import bbb.Nice;
//bbb패키지안에 있는 모든 클래스를 한번에 import하기
import bbb.*; //*은 모든것이라는 뜻 당분간은 권장하지 않는다.
//연습을하기위해, 그리고 다 불러와서 메모리가 아까움
//import aaa.Student; 이러면 에러! Student가 중복되니까
//같은 패키지를 둘다 임포트하는건 불가능이다.
import java.util.Random; //패키지를 불러오는 작업
public class Main {
public static void main(String[] args) {
//기본적인 class를 설계하고 객체를 생성하여 사용하는 모습
Test t=new Test();
t.a=10; //멤버변수 사용
t.show();//멤버함수 호출
aaa.Student stu=new aaa.Student();
stu.name="sam";
bbb.Student stu2=new bbb.Student();
stu2.name="robin"; //패키지가 다르더라도 퍼블릭해줫으니가 보인다.
stu2.kor=80;
stu2.eng=90;
//패키지의 장점: 같은이름이 있어도 구별가능하다
//접근 제한자의 영향을 받는다.
//bbb패키지에 Student클래스 객체가 또 필요하다면?
//패키지명을 매번 작성하는 것이 번거로움 귀찮
//그래서 이 .java문서 안에서는 bbb. 패키지를 마음대로 인식할수있도록
//미리 ..클래스를 가져오기 >> import
bbb.Student stu3=new bbb.Student();
bbb.Student stu4=new bbb.Student(); // 너무 많다...
Student stu5=new Student();
Student stu6=new Student();
}
728x90
반응형
'Java' 카테고리의 다른 글
Java_자바의 메모리 (0) | 2023.01.27 |
---|---|
Java_메서드 오버로딩, 가변 길이 인자 (0) | 2023.01.27 |
Java_접근제한자 (0) | 2023.01.27 |
Java_객체 지향 프로그래밍 OOP (0) | 2023.01.27 |
Java_배열 (0) | 2023.01.26 |