1. 패키지(Package)
# 패키지란, 서로 관련있는 클래스나 인터페이스의 파일들을 한 곳에 묶어 관리하는 것이다.
1) 경로
- Window: C:\Program Files\Java\jdk1.X.X_XXX\jre\lib\rt.jar
- Mac OS: /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/rt.jar
* JDK 표준 패키지 파일
2) import문
# 다른 클래스의 메소드나 속성을 참조할 때, 명시적으로 표현하기 위해서 사용하는 것이다.
1) java.util.Scanner sc = new java.util.Scanner(System.in);
- Scanner를 사용할 때마다 패키지명을 작성하는 번거로움을 덜기 위한 'import java.util.Scanner;' 를 제공
2) import java.util.Scanner: 이하 Scanner 구문을 사용하겠다.
3) import java.util.*
- 한 패키지의 여러 클래스를 import할 경우, *을 사용해서 한 번에 선언이 가능하다.
- 패키지 안에 있는 모든 클래스를 사용할 수 있지만,
무엇을 사용하기 위해 불렀는지 확인하기 어렵기 때문에 권장하지는 않는다.
2. java.lang.Object
# Object 클래스는 모든 클래스의 최상위 클래스이다.
1) class Toy /* extends Object */ {}
- extends 키워드를 선언하지 않아도 자바로 개발된 모든 클래스들은 최상위 클래스인 Object를 기본적으로 상속하고 있다.
2) Scanner의 java.util.Scanner; 와 달리 Object는 클래스임에도 불구하고 import문을 따로 작성하지 않는다.
그 이유는 Object가 있는 java.lang 패키지를 자주 사용하기 때문에 자체 저장이 되어있어 import문을 작성하지 않아도 사용가능하다.
3) 주요 메서드
(1) toString()
- 본래 객체의 주소값을 '문자열'로 반환하도록 설계되어 있다.
그러나 주로 객체 내의 더 중요한 정보를 출력하기 위해서 오버라이딩(재정의)하여 사용하는 경우가 더 일반적이다.
# 클래스들의 미리 오버라이딩 해놓은 toString() 메서드 예시
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 | package objectex; import java.util.Date; /* 몇몇 클래스들은 라이브러리 차원에서 * 미리 toString() 메서드를 오버라이딩(재정의) 해놓음*/ class Toy /*extends Object*/ {} public class ObjectTest02 { public static void main(String[] args) { Toy myToy = new Toy(); System.out.println("Toy class: " + myToy); System.out.println("Toy class: " + myToy.toString()); String str = "java"; System.out.println("String: " + str.toString()); Date d = new Date(); System.out.println("Date: " + d.toString()); } } # 실행 결과 Toy class: objectex.Toy@3d012ddd Toy class: objectex.Toy@3d012ddd String: java Date: Tue Jan 16 23:54:26 KST 2018 | cs |
# 새로 만든 클래스 안에서의 toString() 오버라이딩
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 32 33 34 | package objectex; class Book /*extends Object*/ { String title; int price; public Book() {} public Book(String title, int price) { this.title = title; this.price = price; } @Override public String toString() { return title + ": " + price; } } public class ObjectTest03 { public static void main(String[] args) { Book b1 = new Book("해리포터", 8000); Book b2 = new Book("반지의제왕", 12000); System.out.println(b1); System.out.println(b2); } } # 실행 결과 해리포터: 8000 반지의제왕: 12000 | cs |
(2) equals()
# Object 클래스에 선언된 메소드와 설명
3. 이클립스 상에서 API 소스 확인하기
# 인터넷이 연결되지 않아도 API 소스를 확인할 수 있다.
1) 오프라인
(1) ctrl + 클래스 또는 메서드 선택
(2) Attach Source
(3) External location - External File
(4) Program Files - Java - JDK - src.zip
2) 온라인
(1) 클래스 영역지정 + shift + F2
'JAVA > JAVA2' 카테고리의 다른 글
JAVA2_day05 | instanceof, equals 오버라이딩 연습문제 (0) | 2018.01.17 |
---|---|
JAVA2_day05 | Up-Casting, Down-Casting, 다형성(Polymorphism) (0) | 2018.01.17 |
JAVA2_day04 | 추가공부 (예외 처리, Throwable 클래스, 스택) (0) | 2018.01.16 |
JAVA2_day04 | 예외처리 (Exception Handling) (0) | 2018.01.16 |
JAVA2_day03 | 상속 연습문제 (Pen) (0) | 2018.01.12 |