950 likes | 1.19k Views
11 장 . 패키지와 주요 클래스. Java. public class SumTest { public static void main(String a1[]) { int a, b, sum; a = Integer.parseInt (a1[0]); b = Integer.parseInt (a1[1]); sum = a + b ; // 두 수를 더하는 부분입니다 System.out.println (" 두수의 합은 " + sum + " 입니다 ");
E N D
11장. 패키지와 주요 클래스 Java public class SumTest { public static void main(String a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두 수를 더하는 부분입니다 System.out.println("두수의 합은 " + sum + "입니다"); } }
목차 • section 1 패키지 개요와 패키지의 사용 • section 2 java.lang패키지의 개요 • section 3 Object 클래스 • section 4 포장(Wrapper) 클래스 • 4-1 Integer 클래스 • 4-2 Character 클래스 • 4-3 Byte 클래스 • 4-4 Short 클래스 • 4-5 Long 클래스
목차 • section 5 문자열의 개요 • section 6 String 클래스 • 6-1 문자열의 길이 • 6-2 문자열에서의 문자 추출 • 6-3 문자열 비교 • 6-4 문자열 탐색 • 6-5 문자열의 변환 • section 7 StringBuffer클래스 • section 8 유틸리티 패키지 개요 • section 9 Random 클래스 • section 10 Arrays 클래스
1 패키지 개요와 패키지의 사용 • 패키지 • 비슷한 종류의 클래스나 인터페이스들을 하나의 집단으로 묶어 놓은 것
1 패키지 개요와 패키지의 사용 • JDK에서 제공되는 주요 패키지
1 패키지 개요와 패키지의 사용 • 패키지를 사용하는 가장 일반적인 방법 • import문을 사용 java.util.Date클래스만을 사용 java.util패키지의 모든 클래스를 사용
2 java.lang패키지의 개요 • java.lang패키지 • “import” 문을 사용하여 포함시키지 않아도 자동적으로 포함되는 패키지
2 java.lang패키지의 개요 • java.lang패키지의 클래스 345 page
3 Object 클래스 • java.lang.Object클래스 • 이 패키지의 최상위 클래스이면서 모든 자바 프로그램의 최상위 클래스
3 Object 클래스 • java.lang.Object클래스의 주요 메소드
4 포장(Wrapper) 클래스 • 기본 자료형을 객체로 사용한다는 의미 • 기본 자료형과 관련된 클래스를 제공한다는 의미 • 포장(wrapper) 클래스 • 기본 자료형 객체를 지원하기 위해, 각각의 자료형과 관련된 클래스들을 제공 Integer num2 = 30;의 형태로 사용 가능 Integer 클래스의 intValue() 메소드로 정수 값을 추출
4 포장(Wrapper) 클래스 4-1 Integer 클래스 • Integer 클래스 • 정수 값을 포장하는 클래스 nteger(int n) nteger(String str) 형식
4 포장(Wrapper) 클래스 4-1 Integer 클래스 • Integer 클래스의 주요 메소드
4 포장(Wrapper) 클래스 4-1 Integer 클래스 • Integer 클래스의 주요 메소드
4 포장(Wrapper) 클래스 4-1 Integer 클래스 • 실습예제 Integer 객체 생성 직접 값을 지정하여 객체 생성 두 객체가 가진 값을 더한다 클래스 메소드 호출
4 포장(Wrapper) 클래스 4-1 Integer 클래스 • 실습예제
4 포장(Wrapper) 클래스 4-1 Integer 클래스 • 프로그램 설명 • 00 : new 연산자를 사용하지 않고, 직접 값을 지정하여 객체를 생성할 수 있다. • 00 : 객체가 가진 값을 더하기 위해 intValue() 메소드를 이용하여 정수 값을 가져와 덧셈을수행하였다. • 00~00 : 클래스 이름을 이용하여 클래스 메소드를 호출하였다. 정수 값을 2진수, 8진수, 16진수로 나타내었다. • 00 : 문자열을 이용하여 Integer 객체를 생성하였다. Integer 클래스는 문자열로 Integer 객체를 생성하는 생성자를 제공하고 있다.
4 포장(Wrapper) 클래스 4-1 Integer 클래스
4 포장(Wrapper) 클래스 4-2 Character 클래스 • Character 클래스 • char형의 값을 저장 Character(char c) 형식
4 포장(Wrapper) 클래스 4-2 Character 클래스 • Character 클래스의 주요 메소드
4 포장(Wrapper) 클래스 4-2 Character 클래스 • 실습예제 문자 배열을 선언 각 문자를 클래스 메소드로 검사
4 포장(Wrapper) 클래스 4-2 Character 클래스 • 실습예제 • 프로그램 설명 • 03 : 문자 배열을 선언하였다. • 04~16 : 문자 배열의 각 문자를 Character 클래스의 클래스 메소드를 이용하여 검사하여 결과를 출력하였다. • 17 : 문자 배열의 첫 번째 문자가 유니코드인지 검사하는 isDefined() 메소드를 수행하였다. 유니코드인지 검사
4 포장(Wrapper) 클래스 4-2 Character 클래스
4 포장(Wrapper) 클래스 4-3 Byte 클래스 • Byte 클래스 • byte형의 값을 저장 • MAX_VALUE와 MIN_VALUE 상수를 제공 Byte(byte b) Byte(String s) throws NumberFormatException 형식
4 포장(Wrapper) 클래스 4-3 Byte 클래스 • Byte 클래스의 주요 메소드
4 포장(Wrapper) 클래스 4-3 Byte 클래스 • 실습예제 직접 숫자를 지정하여 Byte 객체 생성 byte형 변수 초기화(클래스 메소드 이용) 정수(int) 연산 수행 후 (byte) 형변환 "126" 문자열로 Byte 객체 생성
4 포장(Wrapper) 클래스 4-3 Byte 클래스 • 프로그램 설명 • 03 : Byte 클래스의 객체를 문자열 값을 지정하여 생성하였다. 이때 지정되는 문자열은byte 값이 표현 가능한 범위의 문자열이어야 한다. “128”이나 “kim”과 같은 문자열로는 Byte 객체를 생성할 수 없다. • 04 : Byte 클래스의 클래스 메소드를 이용하여 byte형의 변수를 초기화하였다. 이 경우에도 문자열은 byte 값이 표현할 수 있는 범위 내에 있어야 한다. • 05 : 자바는 모든 연산을 int형으로 수행한다. 두 개의 피연산자가 모두 byte형이라 자바는 int형 덧셈을 수행하므로, 덧셈의 결과를 byte형의 변수에 저장하기 위해서는 반드시 (byte)로 형변환을 수행해야 한다. • 07 : 직접 숫자를 지정하여 Byte 객체를 생성할 수 있다. • 09 : 출력문에서-128이 출력된 이유는 덧셈의 결과가 128이 되어 8번째 비트가 1이 되었기 때문이다. byte형으로 출력되면 8번째 비트가 1일 경우 음수로 취급되어 -128이 출력되게 된다.
4 포장(Wrapper) 클래스 4-3 Byte 클래스
4 포장(Wrapper) 클래스 4-4 Short 클래스 • Short 클래스 • short형의 값을 저장 • MAX_VALUE와 MIN_VALUE 상수를 제공 Short(short s) Short(String str) throws NumberFormatException 형식
4 포장(Wrapper) 클래스 4-4 Short 클래스 • Short 클래스의 주요 메소드
4 포장(Wrapper) 클래스 4-4 Short 클래스 • 실습예제 숫자를 short형으로 형변환하여 객체 생성
4 포장(Wrapper) 클래스 4-4 Short 클래스 • 프로그램 설명 • 03 : Short 클래스로부터 직접 숫자를 지정하여 객체를 생성하는 경우에는 숫자를 short형으로 형변환해야 한다. 자바에서 모든 수식의 계산은 int형으로 수행한다.
4 포장(Wrapper) 클래스 4-5 Long 클래스 • Long 클래스 • long형의 값을 저장 • MAX_VALUE와 MIN_VALUE 상수를 제공 Long(long l) Long(String str) throws NumberFormatException 형식
4 포장(Wrapper) 클래스 4-5 Long 클래스 • Long 클래스의 주요 메소드
4 포장(Wrapper) 클래스 4-5 Long 클래스 • Long 클래스의 주요 메소드
4 포장(Wrapper) 클래스 4-5 Long 클래스 • 실습예제 Long 최댓값 객체 생성 long 최댓값 출력 Long 최솟값 객체 생성 long 최솟값 출력
4 포장(Wrapper) 클래스 4-5 Long 클래스 • 실습예제 • 프로그램 설명 • 03 : Long 클래스에 제공되는 상수 MAX_VALUE를 이용하여 객체를 생성하였다. 64비트로 표현 가능한 최댓값은 9223372036854775807이다 • 04~11 : 최댓값을 2진수, 8진수, 16진수로 나타내었다.
4 포장(Wrapper) 클래스 4-5 Long 클래스
5 문자열의 개요 • 문자열(String) • 자바 프로그램에서 많이 사용되는 요소 • 자바는 문자열을 객체로 취급 • 상수 문자열을 사용할 때 :String 클래스 • 계속 변하는 문자열을 사용할 때 :StringBuffer클래스
6 String 클래스 • String 클래스 • 변하지 않는 문자열 • 상수 문자열을 위해 사용 • 문자열을 생성하고 조작할 수 있도록 다양한 생성자와메소드를 제공 String() String(char chars[]) String(char chars[], intstartindex, intnumChars) String(String strObj) String(byte asciiChars[], byte highOrderByte) String(byte asciiChars[], byte highOrderByte, intstartindex, intnumChars) String(byte asciiChars[]) String(byte asciiChars[], intstartIndex, intnumChars) 형식
6 String 클래스 • String 클래스의 주요 메소드
6 String 클래스 • String 클래스의 주요 메소드
6 String 클래스 • String 클래스의 주요 메소드
6 String 클래스 • 실습예제 배열을 이용하여 객체 생성 배열의 특정 부분을 이용하여 객체 생성 문자열을 지정하여 객체 생성 문자열의 길이 출력
6 String 클래스 • 프로그램 설명 • 04 : 문자 배열을 이용하여 String 객체를 생성하였다. • 05 : 문자 배열의 일부분을 이용하여 String 객체를 생성하였다. • 07 : 문자열을 직접 지정하여 String 객체를 생성하였다. 이러한 문자열을 canonical 문자열이라고 한다. • 09 : String 클래스의 length() 메소드를 이용하여 문자열의 길이를 출력하고 있다.
6 String 클래스 • canonical 문자열 • 자바는 편리한 문자열의 사용을 위해 단축(shorthand) 초기화를 허용 • 단축 초기화 과정을 거쳐 생성된 문자열
6 String 클래스 • 실습예제 canonical 문자열 객체 생성 일반 문자열 객체 생성 intern() 메소드를 이용하여 canonical 문자열 객체 생성
6 String 클래스 • 프로그램 설명 • 03 : 문자열을 직접 지정하여 canonical 문자열 객체를 생성하였다. • 04 : new 문장을 사용하여 일반 문자열 객체를 생성하였다. • 05 : String 클래스의 intern() 메소드를 사용하여 canonical 문자열 객체를 생성하였다. • 10~11 : canonical 문자열을 저장하고 있는 객체 변수의 값(주소)이 같은가를 비교하였다. 두 객체 변수는 같은 기억장소를 가리키고 있다. • 12 : 같은 문자열을 가진 일반 객체가 같은가를 비교하였다. 두 개의 객체는 서로 다른 객체로 생성되었기 때문에 false를 출력한다.