본문 바로가기
  • Coding & Book
학습단/JAVA 학습단

13. 혼공자 13일차(기본 API 클래스)

by 루이3 2023. 7. 19.

API

  • API는 라이브러리라고도 부릅니다.
  • 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음을 말합니다.

 

자바 API 도큐먼트

  • API는 도큐먼트 HTML 페이지로 작성되어있고 아래 url에 방문하시면 볼수 있습니다.

 

https://docs.oracle.com/en/java/javase/index.html

 

Java Platform, Standard Edition Documentation - Releases

Java Platform, Standard Edition documentation, current and previous releases

docs.oracle.com

jdk 8

https://docs.oracle.com/javase/8/

 

Home: Java Platform, Standard Edition (Java SE) 8 Release 8

 

docs.oracle.com

 

jdk 11 이후

https://docs.oracle.com/en/java/javase/11/

 

JDK 11 Documentation - Home

The documentation for JDK 11 includes developer guides, API documentation, and release notes.

docs.oracle.com

 

Object 클래스

  • Object는 자바의 최상위 부모 클래스에 해당됩니다.
  • 자바의 모든 클래스는 Object 클래스의 자식이거나 자손 클래스 입니다.

 

& 객체비교(eqals())

  • Object 클래스의 equal() 메소드 입니다.
  • 자바에서 두 객체를 동등 비교 할때 사용합니다.
  • 두 객체를 비교해서 논리적으로 동등하면 true를 그렇지 않으면 false를 리턴합니다.

 

& 객체 해시코드(hashCode())

  • 객체 해시코드란 객체를 식별하는 하나의 정수값을 말합니다.
  • 객체의 메모리 번지를 이용해서 해시코드를 만들어 리턴하기때문에 객체마다 다른 값을 가지고 있습니다.

 

& 객체 문자 정보(toString())

  • Object 클래스의 toString() 메소드는 객체의 문자 정보를 리턴합니다.
  • 기본적으로 Object 클래스의 toString() 메소드는 클래스이름@16진수 해시코드로 구성된 문자정보를 리턴합니다.
package sec11.exam01;

public class example {
	 public static void main(String[] args) {
		 Object obj = new Object();
		 System.out.println(obj.toString() );
	 }
}

 

 

System 클래스

  • 운영체제 일부 기능을 이용하기 위해 사용합니다.
  • 프로그램 종료, 키보드로 입력, 모니터로 출력 등이 가능합니다.
  • 모든 필드와 메소드는 정적 필드와 정적 메소드로 구성되어 있습니다.

 

& 프로그램 종료(exit())

  • 프로세스를 강제 종료시키는 역할을 합니다.
package sec11.exam01;

public class ExitExample {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int i =0; i <10; i++) {
			if(i == 3) {
				System.exit(0);
			}
		}
		System.out.println("코드");
	}

}

강제 종료이므로 "코드"는 출력이 안됩니다.

 

& 현재시간 읽기(currentTimeMillis(),nanoTime())

  • System 클래스의 currentTimeMillis() 메소드와 nanoTime() 메소드는 현재 시간을 읽어서
    밀리세컨드 단위와 나노세컨드 단위의 long 값을 리턴합니다.

 

 

Class 클래스

  • 인터페이스의 메타 데이터(클래스 이름, 생성자 정보, 필드 정보, 메소드 정보)를 Class 클래스로 관리합니다.

 

& class 객체 얻는 방법(getClass(),forName())

//클래스로부터 얻는 방법
Class clazz = 클래스이름.class
Class clazz = Class.forName("패키지...클래스이름")

//객체로 부터 얻는 방법
Class clazz = 참조변수.getClass();

 

 

String 클래스

  • 문자열 리터럴은 String 객체로 자동 생성되지만 String 클래스의 다양한 생성자를 이용해서
  • 직접  String 객체를 생성할수 있습니다.
  • String 객체는 문자열 조작(비교,찾기,분리등)을 위한 메소드를 많이 가지고 있습니다. 
리턴 타입 메소드 이름 설명
char charAt(int index) 특정위치의 문자를 리턴
boolean equals(Object anObject) 두 문자열 비교
byte[] getBytes() byte[]로 리턴
byte[] getBytes(Charset charset) 주어진 문자셋으로 인코딩한 byte[]로
리턴
int indexOf(String str) 문자열의 위치 리턴
int length() 총 문자의 수 리턴
String replace(CharSequence target,
CharSequence replacement)
target 부분을 replacement로 대치한
새로운 문자열을 리턴
String substring(int beginIndex) beginIndex 위치에서 끝까지 잘라낸
새로운 문자열을 리턴

 

& 알파벳 소 대문자 변경(toLowerCase(),toUpperCase())

  • toLowerCase() 메소드는 문자열 모두 소문자로 바꾼 새로운 문자열을 생성한후 리턴합니다.
  • toUpperCase() 메소드는 문자열을 모두 대문자로 바꾼 새로운 문자열을 생성후 리턴합니다.

 

& 문자열 변환(ValueOf())

  • 기본타입의 값을 문자열로 변환하는 기능을 가지고 있습니다.

 

& 문자열 앞뒤 공백잘라내기(trim())

  • trim() 메소드는 문자열의 앞뒤 공백을 제거한 새로운 문자열을 생성하고 리턴합니다.
package sec11.exam01;

public class StringTrim {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String tel1 = "    01";
		String tel2 = "234     ";
		String tel3 = "       5678   ";
		
		String tel = tel1.trim() + tel2.trim() + tel3.trim();
		System.out.println(tel);
	}

}

 

 

Wrapper (포장) 클래스

  • 자바는 기본 타입 의 값을 갖는 객체를 생성할수 있는데 이런 객체를 포장객체라고 합니다.
  • 기본타입의 값을 내부에 두고 포장하고 있기 때문입니다.
  • 기본타입의 값을 포장 객체로 만드는 과정을 박싱이라고 합니다.
  • 포장객체에서 기본타입의 값을 얻어내는 과정을 언박싱이라고 합니다.

 

Math 클래스

  • 수학 계산에 사용할수 있는 메소드를 제공합니다.
  • Math 클래스가 제공하는 메소드는 모두 정적 메소드이므로 Math클래스로 바로 사용이 가능합니다.
메소드 설명
int abs(int a)
double abs(double a)
절대값
double ceil(double a) 올림값
double floor(double a) 버림값
int max(int a ,int b)
double max(double a , double b)
최대값
int min(int a,int b)
double min(double a,double b)
최소값
double random() 랜덤값
double rint(double a) 가까운 정수의 실수값
long round(double a) 반올림값

 

'학습단 > JAVA 학습단' 카테고리의 다른 글

3주차 완료  (0) 2023.07.20
14. 혼공자 14일차(java.util 패키지)  (0) 2023.07.20
12. 혼공자 12일차(예외 처리)  (0) 2023.07.18
11. 혼공자 11일차(예외)  (0) 2023.07.17
2주차 완료  (2) 2023.07.15