JDK에서 개발자를 위해 많은 패키지를 제공한다
알면 알수록 활용할 수 있는 카드가 많으니
꼭 자바 공부의 큰 틀인 패키지에 대해 짚고 넘어가자!!!
컴퓨터의 많은 파일들을 그냥 놔두면 정신없다.
그래서 사용하는 게 바로 파일들을 묶는 파일
파일들을 종류에 따라, 성격에 따라, 분류해서 파일에 정리해 놓으면 찾기도 쉽다.
자바도 마찬가지. 어플리케이션의 규모가 커질수록 클래스 파일의 개수가 많아질 것이다
그래서 이런 클래스 파일들을 정리하기 위해 제공하는 개념들 있다.
바로 패키지라는 것인데 우리가 자주 사용하는 폴더와 같은 개념이 바로 패키지.
그렇다면 자바에서 파일에 해당하는게 바로 클래스를 모아넣는 디렉토리다
패키지의 모음이 바로 프로젝트다.
보통 하나의 프로젝트는 일반적으로 하나 이상의 패키지를 포함한다
예를 들어서 java.lang.System 클래스는 java패키지의 하위 패키지인 lang에 속한다.
따라서 물리적으로 java디렉토리 밑의 lang디렉토리 밑의 System.class 파일이다.
src에 마우스 오른쪽 클릭을 하고 New > Package를 누른다. 그러면 New Package라는 창이 뜬다.
원하는 패키지 이름을 적고 OK를 누른다. 참고로, 패키지의 이름을 보통 모두 소문자로 한다
패키지를 만들었으면 해당 패키지에 마우스 오른쪽 클릭 > New > Java Class를 한 후
새 클래스를 만들어 보자. 클래스가 성공적으로 만들어졌다면
패키지를 열었을 때 해당 클래스가 보일 것이다
패키지를 사용할 때는 패키지 전체를 불러오는 방법도 있고,
패키지 내의 특정 클래스만 불러오는 방법도 있다
1) import java.util.*; =>자바 유틸 java.util 패키지 전체를 불러오는 방법
2) import java.util.Random; => 자바 패키지 java.util 내에서 Random 클래스만
불러오는 방법
java.lang 패키지는 import 문으로 호출하지 않아도 기본적으로 로딩되는 패키지
이 패키지가 자바의 기본 클래스와 인터페이스를 제공하고 있다
java.lang.Object 클래스는 최상위 클래스이며, JDK에서 제공하는 모든 패키지의 최상의 클래스이다
자바 유틸 패키지 java.util는 이름 그대로 유용한 클래스들을 많이 가지고 있다
날짜 관련, 수학 관련, 자료 구조와 관련된 클래스_ List, Map, Set, Collection 등...
Date 클래스는 지역화를 지원하지 않는다. 지역화란 국가별로 현재 날짜와 시간은 다를 수 있는데,
그 부분을 지원하지 못한다.
이런 문제를 해결하기 위하여 나온 클래스가 Calendar 클래스.
Calendar 클래스는 자바 1.1에 등장하였다.
- 자바 초창기
- 단순히 시간과 날짜를 사용할 때
Date date = new Date();
new Date() 현재 시간을 보여줘라
인스턴스 생성인데 어떻게 날짜와 시간을 보여줄까? 바로. toString이 생략되어 있다.
java에 있는 모든 객체는 object 객체에 소속된. toString이 달려있다.
.toString은 현재 객체에 있는 값을 문자열로 만들어준다.
- 최근에 나온 보완되어 나온 클래스
- 그 외 시간과 날짜를 이야기할 때
- 주로 많이 쓴다.
Calender는. getInstance() 메서드를 만들어야지만 사용 가능
내가 원하는 날짜와 시간 형식을 만들 수 있다.
싱글턴 패턴이기 때문에 절대로 두 개 이상의 인스턴스를 만들지 않는다.
Calendar cal = Calendar.getInstance();
System.out.println(" 현재 날짜와 시간은 "+cal.get(Calendar.YEAR)+" 년 "+ cal.get(Calendar.DATE)+" 일 "+ cal.get(Calendar.HOUR)+" 시입니다. ");
}
I/o(Input/output) 입출력 관련 패키지.데이터 저장, 호출 등의 입출력 기능을 모여있다.
자바에서는 입출력을 위해 스트림(Stream)을 이용하는데
스트림은 실제 입출력장치와 프로그램 사이의 연결을 도와주는 역할을 담당
java.net 패키지는 자바에서 편리하게 네트워킹 프로그래밍을 할 수 있게 하는 패키지로
실제적인 네트워크 지식이 없어도 클래스에서 지원하여 편리하게 사용할 수 있다
자바 java.awt 패키지는 그래픽 유저 인터페이스, 즉 GUI를 구현하는 데 도움을 주는 패키지
AWT와 함께 알아두어야 할 것이 바로 스윙(Swing)인데
둘의 차이점은 AWT가 자바 엔진 자체적으로 그래픽을 처리하는 반변,
스윙(Swing)은 JVM 자체적인 처리를 해서 프로그램의 무게가 가볍다. 즉 경량 컴포넌트
ㅣ읽느라 수고 많으셨어요~ㅣ
부족한 글을 읽어주셔서 감사드립니다
아직 부족한 게 많으니
틀린 곳이 있다면
조언의 말씀 꼭 부탁드립니다!!!!
[자바] 프로세스와 멀티 Thread(스레드/쓰레드)_메서드/ 상속/인터페이스 /run, start,synchronized (1) | 2020.08.20 |
---|---|
[자바]예외(Exception)처리_try catch fianlly 구문/ try with resource 구문 (0) | 2020.08.19 |
[java]util.Date 클래스(자바의 시각과 날짜를 담는 클래스) (0) | 2020.08.16 |
[자바]Calendar클래스/ Time 패키지(달력,시간) _ 자바 쉽게 정리/특정날짜,현재시간 출력/add,set,get (0) | 2020.08.15 |
[java] 자바_Math클래스 쉽게 정리( 수학 관련 처리 클래스)/반올림/소수점버리기/PI/ import/pow/random (0) | 2020.08.14 |