본문 바로가기

Java 기본 문법 - 참조 서적 [이것이 자바다 - 한빛미디어]

(54)
8. Java 자바 [API] - StringTokenizer 클래스 문자열이 특정 구분자(delimiter)로 연결되어 있을 경우, 구분자를 기준으로 부분 문자열을 분리하기 위해서는 String 의 split() 메소드를 이용하거나 java.util 패키지의 StringTokenizer 클래스를 이용할 수 있다. split() 은 정규 표현식으로 구분하고, StringTokenizer 는 문자로 구분하는 차이점이 있다. 1. String 의 split() 메소드 split() 메소드는 아래와 같이 호출된다. 정규 표현식을 구분자로 해서 문자열을 분리한 후, 배열에 저장하고 리턴한다. String[] result = “문자열”.split(“정규표현식”); 예) “홍길동&이수홍,박연수,김자바-최명호” 문자열이 있을 때, &, 쉼표(,), - 를 제외하고 사람인 이름만 따로 ..
7. Java 자바 [API]- String 클래스 String 클래스 문자열 생성, 추출, 비교, 찾기, 분리, 변환 등을 제공하는 메소드를 가지고 있다. 1. String 생성자 자바의 문자열은 java.lang 패키지의 String 클래스의 인스턴스로 관리된다. 문자열 리터럴은 String 객체로 자동 생성되지만, String 클래스의 다양한 생성자를 통해 직접 String 객체를 생성할 수도 있다. String 클래스는 Deprecated(비권장) 된 생성자를 제외하고 약 13개의 생성자를 제공한다. String 객체를 생성할지는 제공되는 매개값의 타입에 달려있다. 사용 빈도가 높은 생성자들 // 배열 전체를 String 객체로 생성 String str = new String(byte[] bytes); // 지정한 문자셋으로 디코딩 String s..
6. Java 자바 [API] - Class 클래스 Class 클래스 자바는 클래스와 인터페이스의 메타 데이터를 java.lang 패키지에 소속된 Class 클래스로 관리한다. 메타 데이터 : 클래스의 이름, 생성자 정보, 필드 정보, 메소드 정보를 말한다. Class 클래스의 메소드들 1. Class 객체 얻기 getClass(), forName() 프로그램에서 Class 객체를 얻기 위해서는 Object 클래스가 가지고 있는 getClass() 메소드를 이용한다. Object 는 모든 클래스의 최상위 클래스이므로 모든 클래스에서 getClass() 메소드를 호출할 수 있다. Class clazz = obj.getClass(); getClass() 메소드는 해당 클래스로 객체를 생성했을 때만 사용할 수 있는데, 객체를 생성하기 전에 직접 Class 객체..
5. Java 자바 [API] - System 클래스 System 클래스 바 프로그램은 운영체제 상에서 바로 실행되는 것이 아니라 JVM 위에서 실행된다. 따라서 운영체제의 모든 기능을 자바 코드로 직접 접근하기 어렵다. 하지만, java.lang 패키지에 속하는 System 클래스를 활용하면 운영체제의 일부 기능을 이용할 수 있다. 프로그램 종료, 키보드로 부터 입력, 모니터로 출력, 메모리 정리, 현재 시간 읽기, 시스템 프로퍼티 읽기, 환경 변수 읽기 등이 가능하다. System 클래스의 모든 필드와 메소드는 정적(static) 필드와 정적(static)메소드로 구성되어 있다. System 클래스의 메소드들 1. 프로그램 종료 exit() 강제적으로 JVM을 종료시킬 필요가 있을 때 exit() 메소드를 호출한다. exit() 메소드는 현재 실행하고 ..
4. Java 자바 [API] - Objects 클래스 Objects 클래스 Object 와 유사한 이름을 가진 java.util.Objects 클래스는 객체 비교, 해시 코드 생성, null 여부, 객체 문자열 리턴 등의 연산을 수행하는 정적 메소드들로 구성된 Object 클래스의 유틸리티 클래스이다. Objects 클래스의 정적(static) 메소드들 리턴 타입 메소드(매개 변수) 설명 int compare(T a, T b, Comparator c) 두 객체 a, b를 Comparator 를 사용해서 비교 boolean deepEquals(Object a, Object b) 두 객체의 깊은 비교(배열의 항목까지 비교) boolean equals(Object a, Object b) 두 객체의 얕은 비교(번지 값만 비교) int hash(Object ... ..
3. Java 자바 [API] - Object 클래스의 메소드 2 clone(), finalize() Object 클래스의 메소드들 2 1. 객체 복제 clone() 원본 객체의 필드값과 동일한 값을 가지는 새로운 객체를 생성하는 것. 객체를 복제하는 이유 : 원본 객체를 안전하게 보호하기 위해서이다. 신뢰하지 않는 영역으로 원본 객체를 넘겨서 작업할 경우, 원본 객체의 데이터가 훼손될 수 있다. 복제에는 얕은 복제와 깊은 복제가 두 가지가 있다. - 얕은 복제 (thin clone) 단순히 필드값을 복사해서 객체를 복사하는 것 필드값만 복제하기 때문에 필드가 기본 타입일 경우 값 복사가 일어나고, 필다가 참조 타입일 경우 객체의 번지가 복사된다. Object의 clone() 메소드는 자신과 동일한 필드값을 가진 얕은 복제된 객체를 리턴한다. 이 메소드로 객체를 복제하려면, 원본 객체는 반드시 java...
2. Java 자바 [API] - Object 클래스, Object 클래스의 메소드 1 자바의 클래스를 선언할 때 extends 키워드로 다른 클래스를 상속하지 않으면 암시적으로 java.lang.Object 클래스를 상속하게 된다. 따라서 자바의 모든 클래스는 Object 클래스의 자식이거나 자손 클래스가 된다. 즉, Object는 자바의 최상위 부모 클래스에 해당된다. - Object 클래스는 필드가 없고 메소드로 구성되어 있다. 이 메소드들은 모든 클래스들이 Object 클래스를 상속하므로, 모든 클래스에서 이용할 수 있다. Object 클래스의 메소드들 1 1. 객체 비교 equals() 형태 public boolean equals(Object obj) { . . . } - 매개 타입 : Object 로 모든 객체가 매개 값으로 대입될 수 있다. (Object가 최상위 타입이므로 모..
1. Java 자바 [API] - 자바 기본 API 패키지 1. API API : Application Programming Interface 즉 라이브러리(library) 로 프로그램에서 자주 사용되는 클래스 및 인터페이스의 모음이다. - String, System 등의 클래스도 모두 API 에 속하는 클래스들이다. - API 들은 \jre\lib\rt.jar 압축 파일에 저장되어 있다. - 자세한 API 도큐먼트는 아래 링크에서 볼 수 있다. https://docs.oracle.com/en/java/javase Java Platform, Standard Edition Documentation - Releases Java Platform, Standard Edition documentation, current and previous re..