본문 바로가기

전체 글

(91)
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...