Power Java 제20장 패키지.

Slides:



Advertisements
Similar presentations
© IBM Corporation 2006 목 차목 차  자바 언어의 소개  자바 언어의 역사  자바 환경 설정 (JDK 1.5)  Documentation API 의 설치  Eclipse 의 설치와 사용법  HelloWorld.
Advertisements

지적기초측량 경일대학교/부동산지적학과.
아름다운 이들의 행복한 길음안나의 집.
어서와 Java는 처음이지! 제3장선택과 반복.
11장. 프로토콜 핸들러 AI &HC I LAB 김 성 현.
제 7주 2015년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
22강 API - I - JAVA필수 API - String의 이해 - String의 문제점
제 6 장 패키지 개념과 자바 기본 패키지 java applet awt beans io lang math net nio rmi
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
Power Java 제13장 패키지(Package).
11장. 기본 API 클래스.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
Chapter 02 JAVA 프로그래밍 시작하기 01 실무에서 사용하는 JAVA 개발 환경 02 JAVA 프로그램 작성
제14장 원격 메소드 호출 김 기 환. 조 명 휘.
Internet Computing KUT Youn-Hee Han
명품 JAVA Programming 제 13 장 스레드와 멀티태스킹.
명품 JAVA Essential.
4부 클래스 라이브러리 “4부에서는 자바 언어의 API인 클래스 라이브러리에 관해 설명합니다
윤 홍 란 제3장 클래스와 객체의 사용-1 윤 홍 란
DB와 WEB 연동(1) [2-Tier] Java Applet 이용
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
표준 API(클래스라이브러리)의 기본 클래스 활용
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
정적 메소드와 정적 변수 상수 래퍼 클래스 포매팅
Sookmyung Women’s Univ. PSLAB Moon, Se won
명품 JAVA Essential.
명품 JAVA Programming 제 4 장 클래스와 객체.
3. 자바에서 지원하는 패키지 자바에서 기본적으로 제공하는 패키지.
Power Java 제4장 자바 프로그래밍 기초.
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
명품 JAVA Essential.
제 11 장 java.lang 패키지 제 12 장 문자열 제 13 장 유틸리티 제 14 장 입출력 제 15 장 네트워킹
소프트웨어설계 UML 학기.
명품 JAVA Essential.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
2장. JSP 개발 환경 설정 이 장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 애플리케이션 개발을 위해 반드시 이해하여야 할 웹 애플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
Power Java 제7장 클래스와 객체.
Devkit API 가이드.
Network Programming(1)
[Homework #2] Chapter 5 Chapter 6 Page 110, 문제 13 – 피라미드 높이 구하는 문제
자바 5.0 프로그래밍.
Java의 정석 제 1 장 JDK설치 및 설정 Java 정석 남궁성 의
Java의 정석 제 1 장 JDK설치 및 설정 Java 정석 남궁성 의
2강. 개발 환경 설정 JDK 설치 Path 설정 이클립스 다운로드 톰캣 설치 톰캣 환경 설정
정보컴퓨터공학부 컴퓨터 소프트웨어 설계 및 실험
Part-I 자바기초프로그래밍 Round1. 자바 실행 환경 저자 : 김승현.
[INA470] Java Programming Youn-Hee Han
어서와 Java는 처음이지! 제9장 인터페이스, 패키지.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
1강. 스프링이란? 프레임워크 스프링(SPRING) 설치 Lecturer Kim Myoung-Ho Nickname 블스
CHAP 3. 첫번째 애플리케이션.
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
제1장 자료구조를 배우기 위한 준비.
[INA470] Java Programming Youn-Hee Han
Java Chapter 4 ~ 주차.
컴퓨터공학실습(I) 3주 인공지능연구실.
기초C언어 제4주 실습 프로젝트 아카이브로 저장하기/가져오 기 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
3장. 웹로직 서버에서의 서블릿과 JSP의 운용 3-1. 서블릿, JSP를 실행하기 전의 환경 설정
J2ME 개발환경설치 SUN MIDP-FCS
7강. 객체지향 프로그램의 본질 메소드 프로그래밍의 한계 객체의 개념 및 클래스의 이해
제 16 장 웹 응용프로그램 구조와 배포 학기 인터넷비즈니스과 강 환수 교수.
2015년 2학년 1반.
예제 1-4 RL circuit
6월 1주 주간메뉴표 NEW 엄마손 조식 쉐프 삼촌 중식 참새 방앗간 석식 ◎원산지 안내 : 쌀(국내산)
안드로이드 앱 분석 팀 기반의 설계 프로젝트 박민재
명품 JAVA Programming.
자료구조 강의소개 정성훈 연락처 : 이메일 : 연구실 : 연219호 연락처 : 이메일 : 홈페이지: 정성훈.
Java의 정석 제 7 장 객체지향개념 II-3 Java 정석 남궁성 강의
Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용
Presentation transcript:

Power Java 제20장 패키지

이번 장에서 학습할 내용 패키지는 연관된 클래스들을 묶는 기법입니다. 패키지의 개념 패키지로 묶는 방법 패키지 사용 기본 패키지 유틸리티 패키지

패키지란? 패키지(package) : 클래스들을 묶은 것 자바 라이브러리도 패키지로 구성 (예) java.net 패키지– 네트워크 관련 라이브러리 그림20-1. 패키지의 개념

예제

패키지 생성하기 Q: 만약 패키지 문을 사용하지 않은 경우에는 어떻게 되는가? A: 디폴트 패키지(default package)에 속하게 된다.

패키지의 이름 패키지의 이름은 일반적으로 소문자만을 사용한다. 패키지 이름으로 인터넷 도메인 이름의 역순을 사용한다. 예를 들면 com.company.mypackage이다. 자바 언어 자체의 패키지는 java나 javax로 시작한다.

이클립스에서 패키지 만들기 이클립스를 사용하는 경우는 프로젝트를 먼저 생성한 후에, src 폴더에 마우스를 두고 오른쪽 버튼을 눌러서 New S Package 메뉴를 선택하면 패키지를 생성할 수 있다.

중간 점검 문제

패키지 사용 경로까지 포함하는 완전한 이름으로 참조한다. 원하는 패키지 멤버만을 import한다.

완전한 이름으로 참조 graphics 패키지에 있는 Rectangle 클래스의 완전한 이름은 graphics. Rectangle이다. 객체를 생성할 때도 원칙적으로 다음과 같이 하여야 한다.

패키지 멤버를 import 외부 패키지의 특정한 멤버를 import하려면 다음과 같은 문장을 사용한다. import 문장은 package 문장 다음에 위치하여야 한다. 클래스가 포함되었으면 이제부터는 클래스 이름만 사용하여서 참조가 가능하다

전체 패키지 import 하나의 패키지 안에 포함된 모든 클래스를 포함하려면 다음과 같이 별표 문자(*)를 사용하면 된다 패키지 전체가 포함되면 패키지 이름을 생략하고 클래스 이름으로만 참조할 수 있다

계층 구조의 패키지 포함하기 여기서 한 가지 아주 주의해야할 사항이 있다. 패키지는 계층적으로 구성된 것처럼 보인다. 예를 들어 서 java.awt.*를 포함시키면 java.awt 아래 있는 모든 패키지, 즉 java.awt.font와 같은 java.awt 로 시작하는 모든 패키지가 포함될 거라고 생각하기 쉽다. 그러나 java.awt.font 패키지는 java.awt 패키지 안에 포함되지 않는다. 만약 java.awt.font의 멤버와 java.awt의 멤버를 동시에 사용하려면 다음과 같이 따로 따로 포함하여야 한다.

정적 import문장 클래스 안에 정의된 정적 상수나 정적 메소드를 사용하는 경우에 일반적으로는 클래스 이름을 앞 에 적어주어야 한다. 예를 들면 java.lang.Math 클래스 안에는 PI가 상수로 정의되어 있고, sin(), cos(), tan()와 같은 수많은 정적 메소드들이 정의되어 있다. 일반적으로 이들 정적 상수와 정적 메 소드를 사용하려면 다음과 같이 클래스 이름을 앞에 붙여야 한다. 하지만 정적 import 문장을 사용하면 클래스 이름을 생략하여도 된다

중간점검

소스 파일과 클래스 파일 관리 자바에서는 패키지의 계층 구조를 반영한 디렉토리 구조에 소스들을 저장하여야 한다. 완전한 클래스 이름 – graphics.Rectangle 파일의 경로 이름– graphics\Rectangle.java company라는 회사의 도메인 이름이 com.company이라면 graphics 패키지는 다음과 같은 디렉토리에 저장된다.

소스 파일과 클래스 파일 관리 소스 파일을 컴파일하면 컴파일러는 각 클래스들을 서로 다른 출력 파일로 저장한다. 출력 파일의 이 름은 클래스 이름과 같고, 확장자는 .class이다. 예를 들어서 소스 파일이 다음과 같다고 하자. 컴파일된 파일은 다음과 같이 저장된다

명령어 버전을 사용할때 graphics 패키지를 작성하고 이 패키지 안에 Rectangle. java를 넣으려면 디렉토리 구조도 똑같이 만들어 주어야 한다. 컴파일할 때는 작업 디렉토리에서 다음과 같이 컴파일한다

이클립스를 사용할 때 이클립스를 사용하여서 패키지 graphics를 생성하면 다음과 같은 디렉토리가 자동으로 생성된다. 즉 workspace 아래에 (작업디렉 토리)\myproject\src\graphics 디렉토리에 소스 파일들이 저장된 다. 또 (작업디렉토리)\myproject\bin\graphics 디렉토리에 컴 파일된 클래스 파일들이 저장된다. 특정한 디렉토 리를 지정하면 된다.

이클립스를 사용할 때 만약 컴파일된 클래스 파일의 위치를 변경하려면 프로젝트를 생성할 때 대화상자에서 특정한 디렉토 리를 지정하면 된다. 특정한 디렉토 리를 지정하면 된다.

CLASSPATH시스템 변수 설정 실행에 필요한 클래스 파일들이 저장되는 디렉토리를 클래스 경로(class path)라고 한다. 클래스 경로가 C:\classes이고 패키지 이름이 com.company.graphics라면 컴파일러와 JVM이 클래스 파일을 찾는 디렉토리는 다음과 같다

CLASSPATH시스템 변수 설정 자바에서 클래스 경로를 지정하는 방법은 다음과 같은 2가지이다. 환경 변수인 CLASSPATH를 설정한다. 현재 설정된 CLASSPATH 변수를 화면에 표시하려면, 보조 프로 그램의 명령 프롬프트에서 다음과 같은 명령어를 사용한다. 자바 가상 기계를 실행할 때 옵션 -classpath를 사용할 수 있다 만약 클래스 경로가 위와 같이 지정되었다고 가정하면 자바 가상 기계는 다음과 같은 순서로 클래스 파일을 탐색한다. C:\classes\graphics\Rectangle.class C: \lib\graphics\Rectangle.class .\graphics\Rectangle.class

JAR압축 파일 클래스 파일은 또한 JAR(Java archive) 파일 형태로 저장될 수 있다. 클래스 파일을 디렉토리의 계층 구조를 유지한 채로 압축 가능 클래스 경로에 지정하여 주면 된다.

자바에서 지원하는 패키지 패키지(package)는 연관되어 있는 클래스와 인터페이스들을 하나로 묶어 놓은 것이다. 자바의 기본 패키지는 java로 시작하며 확장 패키지는 javax로 시작한다.

자바에서 지원하는 패키지

java,lang 패키지 java.lang 패키지는 자바 프로그래밍에 필수적인 클래스들을 가지고 있기 때문에 import 문을 사용 하지 않아도 자동으로 포함된다. 다음과 같은 클래스들이들이 포함된다. Object 클래스: 기초적인 메소드를 제공하는 모든 클래스의 조상 클래스 Math 클래스: 각종 수학 함수들을 포함하는 클래스 Wrapper 클래스: Integer와 같이 기초 자료형을 감싸서 제공하는 랩퍼 클래스들 String 클래스, StringBuffer 클래스: 문자열을 다루는 클래스 Thread 클래스: 스레드 기능을 제공하는 클래스 Class 클래스: 객체를 생성한 클래스에 대한 정보를 얻기 위한 클래스

Math클래스

Math클래스

Math클래스

Class 클래스 Class 객체는 실행 중인 클래스를 나타낸다.

System 클래스 System 클래스는 실행 시스템과 관련된 속성과 메소드를 제공

System 클래스

Wrapper 클래스 기초 자료형을 객체로 포장시켜주는 클래스 (예) Integer obj = new Integer(10);

Wrapper 클래스

Integer 클래스가 제공하는 메소드

문자열 <-> 기초 자료형

오토 박싱(auto-boxing) Wrapper 객체와 기초 자료형 사이의 변환을 자동으로 수행한다.

StringBuffer 클래스 String 클래스는 주로 상수 문자열, 즉 변경이 불가능한 문자열을 나타낸다. StringBuffer와 StringBuilder 클래스는 변경 가능한 문자열을 나타낸다.

StringBuffer의 메소드

중간 점검 문제

java.util 패키지 자바에서 정수 10과 Integer(10)은 어떻게 다른가? 2. StringBuffer와 String은 어떻게 다른가?

java.util 패키지

Arrays 클래스

Arrays 클래스

실행결과

Date 클래스

실행결과

Calendar 클래스 Calendar 클래스는 추상 클래스로서 날짜와 시간에 대한 정보를 가지고 있고 특정 시각을 연도, 월, 일 등으로 변환하는 메소드도 가지고 있다. 시각은 1970년 1월 1일 00:00:00.000 GMT부터 흘러온 시 간으로 나타낸다. 현재 시각을 나타내는 객체를 얻으려면 다음과 같이 하면 된다

Calendar 클래스

예제

StringTokenizer 클래스 문자열을 분석하여서 토큰으로 분리시켜 주는 기능을 제공

예제

중간 점검 문제

Q & A