728x90
반응형
API, Application Programing Interface
- 프로그램을 개발하기 위해 만들어진 코드들(클래스, 인터페이스 위주)
- 응용 프로그램이 운영체제(OS)나 기타 시스템과 통신(상호작용)을 할 때 사용되는 메시지의 형식(메소드, 함수)
- 자바에서는 클래스와 인터페이스로 제공됨
- 프로그램을 개발하기 위해 프로그래밍언어(JAVA)에서 제공하는 클래스들
- 자바는 JDK에 포함되어있다
- JAVA API Documentation을 참조해야한다 (설명서)
Object 클래스
- 패키지 : java.lang
- ** java.lang - 자바 언어의 기본이 되는 클래스들을 모아놓은 패키지
- -> (import 선언 없이 사용가능)
- 자바의 모든 클래스들의 최상위 부모클래스
- 모든 클래스는 Object를 상속받는다
- -> 자바 프로그래밍의 기본이 되는 클래스
Object 클래스의 메소드
재정의 불가능 메소드 (final 키워드가 적용되어있음)
- notify, notifyAll, wait - 멀티스레드의 동기화에 사용
- getClass - 클래스타입으로 정보를 반환
재정의 가능 메소드
- toString
- 객체를 설명하는 문자열을 반환
- 기본리턴값 -> "데이터타입@참조값" 형식의 문자열
- System.out.println(객체) 메소드는 객체의 toString()을 자동으로 호출하고 결과값을 출력
- equals
- 객체의 동등성을 비교하는 코드로 재정의 해서 사용한다
- 기본동작 -> 객체의 동일성을 비교한다
- *** 동등성(equality) - 같은 데이터를 가지는가
- *** 동일성(identity) - 같은 객체인가 (같은 참조값을 가지는가)
- *** String클래스는 equals()메소드가 동등성비교로 재정의 되어있다.
- hashCode
- 객체의 고유한 값을 반환하는 메소드
- 기본 동작 -> 객체의 참조값을 10진수(int)로 반환한다
- *** String클래스는 저장된 데이터를 가공한 값을 반환한다
- *** 같은 문자열을 가지고 있으면 같은 hashCode()값이 나온다
- clone
- 객체를 복사하여 반환하는 메소드
- Object클래스에 protected 접근제한자로 설정되어있다
- 오버라이딩하여 public으로 변경해야하는 경우가 많다
- 반환타입이 Object이므로 복사하는 클래스로 형변환이 필요하다
- 예외 처리 구문 (try - catch문) 필요
- clone()메소드를 오버라이딩하는 클래스는 Interface Cloneable을 상속해야만 한다
- 깊은 복사된 인스턴스(객체)를 반환한다
- finalize
- 객체가 소멸될 때 호출되는 메소드
- GC(Garbage Collector)가 객체를 파괴할 때 호출하는 메소드
- 건들지 말 것! // 재정의 하지말고, 사용도 하지 말 것!
반응형
'개발 > 자바' 카테고리의 다른 글
자바 String 클래스 / StringBuffer, StringBuilder / split()메소드 / StringTokenizer 클래스 (0) | 2021.02.02 |
---|---|
자바 Wrapper 클래스 / 박싱(Boxing), 언박싱(Unboxing) / 오토박싱, 오토언박싱 / 문자열 파싱(parse) (0) | 2021.02.02 |
자바 추상클래스, 추상메소드 / 인터페이스 (0) | 2021.01.27 |
자바 상속, Inheritance / 오버라이딩, Overriding / super / final / 다형성 / for each 구문 (0) | 2021.01.25 |
자바 다차원배열 (0) | 2021.01.21 |
댓글