본문 바로가기
IT/자바

자바 정리 - 기본 API 클래스, System 클래스, Class 클래스

by 김보리 2021. 11. 30.
728x90
반응형

기본 API 클래스

 

java.lang 패키지

Object 클래스

  • 모든 클래스는 Object 클래스의 자식이거나 자손 클래스
  • clone() : 객체를 복제할 때 사용
  • finalize() : 객체가 소멸될 때 호출됨

객체 비교(equals())

  • equals()의 매개 타입은 Object로, 모든 객체가 매개갑승로 대입될 수 있음.
  • Object 클래스의 equals() 메소드는 비교 연산자인 == 와 동일 결과 리턴
  • equals() 메소드는 두 객체가 논리적으로 동등하면 true, 그렇지 않으면 false 리턴
  • equals() 메소드는 매개값이 기준 객체와 동일 타입 객체인지 먼저 확인 필요

 

객체 해시코드(hashCode()) 

  • 객체를 식별하는 하나의 정수값 
  • Object 클래스의 객체 해시코드 메소드는 객체 메모리 번지를 이용해서 해시코드를 만들어 리턴
  • 객체마다 다른 값을 가지고 있음
  • 두 객체가 동등한지 비교 필요 (동등 객체일 경우 true, 아니면 false)

SHA128, SHA256 : 암호화 가능함. / 데이터베이스에 비밀번호 입력 시 hash function 입력

hash는 복호화가 안됨 -> 보안 좋음

hash code는 유일한 값이 될 수 있음

 

객체 문자 정보(toString())

  • Object 클래스의 toString() 메소드는 객체의 문자 정보 리턴
  • 클래스 이름@16진수해시코드로 구성된 문자 정보 리턴

 

 

System 클래스

  • System 클래스의 모든 필드와 메소드는 정적 필드 및 메소드로 구성

 

프로그램 종료(exit())

  • exit() 메소드 호출하여 JVM을 강제 종료
  • exit() 메소드가 지정하는 int 매개값을 종료 상태값이라 함
  • System.exit()

 

현재 시각 읽기 (currentTimeMillis(), nanoTime())

  • System 클래스의 currentTimeMillis() 및 nanoTime() 메소드로 각기 1/1000초 및 1/10^9 단위 long 값 리턴
  • long time = System.currentTimeMillis();
    long time = System.nanoTime();

 

Class 클래스

  • 자바는 클래스와 인터페이스의 메타 데이터를 Class 클래스로 관리
  • Class 객체 얻기(getClass(), forName()
  • reflection(투영) -> 꼭 구글에 검색해서 알아보기

클래스로부터 얻는 방법

① Class clazz = 클래스이름.class

② Class clazz = Class.forName(“패키지...클래스이름”)

객체로부터 얻는 방법

③ Class clazz = 참조변수.getClass();

 

728x90
반응형

댓글