쉽게 풀어쓴 C 프로그래밍

Similar documents
Microsoft PowerPoint - Lect07.pptx

PowerPoint Presentation

PowerPoint Presentation

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft PowerPoint - lec7_package [호환 모드]

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밊

Network Programming

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

쉽게

PowerPoint Presentation

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Spring Boot

JAVA PROGRAMMING 실습 08.다형성

JDK이클립스

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap01-C언어개요.pptx

gnu-lee-oop-kor-lec06-3-chap7

07 자바의 다양한 클래스.key

JVM 메모리구조

PowerPoint Presentation

Microsoft PowerPoint - Introduction to Google Guava.pptx

PowerPoint Presentation

PowerPoint Presentation

JUNIT 실습및발표

제11장 프로세스와 쓰레드

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Secure Programming Lecture1 : Introduction

PowerPoint Presentation

PowerPoint 프레젠테이션

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

ThisJava ..

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Blog

No Slide Title

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

Microsoft PowerPoint - 2강

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

슬라이드 1

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - lec12 [호환 모드]

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

(Microsoft PowerPoint - java2-lecture3.ppt [\310\243\310\257 \270\360\265\345])

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt

PowerPoint Presentation

java.lang 패키지 java.util 패키지 java.io 패키지 콜렉션 2

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

No Slide Title

Slide 1

Microsoft PowerPoint - C++ 5 .pptx

02 C h a p t e r Java

슬라이드 1

Microsoft PowerPoint - additional08.ppt [호환 모드]

Microsoft PowerPoint - additional03.ppt [호환 모드]

No Slide Title

PowerPoint 프레젠테이션

10.0pt1height.7depth.3width±â10.0pt1height.7depth.3widthÃÊ10.0pt1height.7depth.3widthÅë10.0pt1height.7depth.3width°è10.0pt1height.7depth.3widthÇÁ10.0pt1height.7depth.3width·Î10.0pt1height.7depth.3width±×10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width¹Ö pt1height.7depth.3widthŬ10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width½º, 10.0pt1height.7depth.3width°´10.0pt1height.7depth.3widthü, 10.0pt1height.7depth.3widthº¯10.0pt1height.7depth.3width¼ö, 10.0pt1height.7depth.3width¸Þ10.0pt1height.7depth.3width¼Ò10.0pt1height.7depth.3widthµå

Microsoft PowerPoint - 02처음으로만드는(Ver 1.0)

PowerPoint Template

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

No Slide Title

PowerPoint Presentation

PowerPoint Presentation

JAVA 플랫폼 개발 환경 구축 및 활용

JAVA PROGRAMMING 실습 05. 객체의 활용

Microsoft PowerPoint - Lect04.pptx

Microsoft PowerPoint 장강의노트.ppt

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

파워포인트

JDBC 소개및설치 Database Laboratory

PowerPoint Template

오버라이딩 (Overriding)

Microsoft PowerPoint - 13_UMLCoding(2010).pptx

쉽게 풀어쓴 C 프로그래밍

1

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

JAVA PROGRAMMING 실습 09. 예외처리

PowerPoint Presentation

4장.문장

01-OOPConcepts(2).PDF

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - Java7.pptx

Microsoft Word - Modelsim_QuartusII타이밍시뮬레이션.doc

슬라이드 1

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft PowerPoint - Chap12-OOP.ppt

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

Transcription:

Power Java 제 20 장패키지

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

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

예제

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

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

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

중간점검문제

패키지사용 경로까지포함하는완전한이름으로참조한다. 원하는패키지멤버만을 import 한다. 패키지전체를 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 객체는실행중인클래스를나타낸다. Class 객체는자바가상기계에의하여자동적으로생성된다. Class 객체를이용하면객체의클래스이름을출력할수있다.

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

System 클래스

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

Wrapper 클래스

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

문자열 <-> 기초자료형

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

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

StringBuffer 의메소드

중간점검문제

java.util 패키지

java.util 패키지

Arrays 클래스

Arrays 클래스

실행결과

Date 클래스

실행결과

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

Calendar 클래스

예제

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

예제

중간점검문제

Q & A