Ⅰ. 패키지(Package)와 임포트(Import)
0. 복습
- 클래스 : 참조자료형의 설계도
- 객체 : 참조자료형으로 참조하는 데이터
- 객체가 가지는 것
- 필드(속성, 내부 변수) : 객체가 가지고 있는 값(value)
- 메소드 : 객체가 가지고 있는 기능(Function = Method)
- 메소드
- 생정자 : 객체가 생성되는 순간(new)에 처리할 기능을 정의한 메소드
- 일반 메소드 : 객체의 기능을 정의한 코드 블록 (리턴타입, 메소드명, 매개변수, {몸통})
- 메소드 오버로딩 : 리턴 타입과 메소드명이 동일한 메소드를 여러 개 지정할 수 있는 것
1. 패키지(Package)와 임포트(Import)
- 패키지(Package) : 프로젝트의 하위 폴더의 개념
- 클래스 파일을 목적별로 묶어서 관리
- 패키지마다 이름 공간(namespace) 생성 → 클래스 이름의 충돌 방지
- 임포트(Import) : 다른 패키지의 모든 클래스를 여기서 쓸 수 있음
- 예시 :
// Example
// animal 패키지에 Dog.java
package animal;
// public : 다른 곳에서 Dog를 사용 가능하게 함
public class Dog {
String breed;
String name;
// 모든 클래스에는 생성자가 존재 (밑에 Dog(){}가 없더라도 자동으로 생성된 것처럼 실행)
public Dog(String breed, String name) {
this.breed = breed;
this.name = name;
}
public void bark() {
System.out.println("멍멍 왈왈 컹컹");
}
}
// animal 패키지에 Turtle.java
package animal;
// 외부 클래스 : 파일에서 정의한 public 클래스 외의 클래스
// 외부 클래스는 해당 파일의 public 클래스를 위한 부가 클래스 차원에서 사용
class Shell {
}
class leg {
}
class hear {
}
public class Turtle {
Shell s = new Shell();
}
// Main 패키지에 main.java
package Main;
// import를 사용하면 animal 패키지에 있는 Dog 클래스를 여기서 쓸 수 있음
// import animal.Dog;
// import animal.Turtle;
import animal.*; // .* : animal 패키지에 있는 모든 클래스를 여기서 쓸 수 있음
public class Main {
public static void main(String[] args) {
Dog a = new Dog("진돗개", "백구"); // 외부를 데리고 오려면 패키지 명을 붙여야함
Turtle b = new Turtle();
a.bark();
}
}
// 결과 :
// 멍멍 왈왈 컹컹
'Programming Language > Java' 카테고리의 다른 글
자바 제어자1 (modifier) - 1. 접근지정자 (0) | 2022.07.11 |
---|---|
클래스 외부 구성요소 - 2. 외부클래스(external class) (0) | 2022.07.11 |
클래스 내부 구성요소 - 4. this 키워드와 this( ) 메소드 (0) | 2022.07.09 |
클래스 내부 구성요소 - 3. 생성자 (0) | 2022.07.09 |
클래스 내부 구성요소 - 2. 메소드 (0) | 2022.07.08 |