Java

[Java] API

wwxs 2024. 9. 12. 16:32

API(Application Programming Interface)

  • 소프트위에 또는 시스템 간 상호작용을 가능하게 하는 정의된 메서드들의 집합
  • 소프트웨어나 하드웨어와 상호작용할 수 있는 인터페이스를 제공

자바 API 클래스

  • 자바 프로그래밍을 위한 API


java.lang : 기본 클래스(String, Math, System 등)

  • import 없이도 자바 내에서 사용 가능한 기능
  • 자바 프로그램의 가장 기본적인 클래스들을 포함

1) Object 클래스

  • 자바의 모든 클래스의 최상위 클래스, 기본적으로 생략
더보기
더보기
class MyClass extends Object{
	// toString() 메서드
	// : 객체의 문자열 표현을 반환
	
	// equals() 메서드
	// : 두 객체가 동등한지 비교
	private int id;
	private String name;
	
	public MyClass(int id, String name) {
		this.id = id;
		this.name = name;
	}
	@Override
	public String toString() {
		return "MyClass" + id + name;
	}
}

 

2) Math 클래스

  • 수학적 연산 & 함수를 제공하는 클래스
  • 모든 필드와 메서드가 static

3) String 클래스

  • 문자열 내용 작성에 유용한 유틸리티를 담은 클래스

 

(여러 클래스 사용 예제)

더보기
더보기
public class JavaLang {
	public static void main(String[] args) {
		System.out.println("=== Object 클래스 ===");
		MyClass myClass1 = new MyClass(123 , "홍동현");
		MyClass myClass2 = new MyClass(234 , "홍길동");
		System.out.println(myClass1.toString());
		System.out.println(myClass2.toString());
		
		System.out.println(myClass1.equals(myClass2));	// false
		
		String name = "홍동현";
		String name2 = name;
		System.out.println(name.equals(name2));	// true
		System.out.println(name == name2);	// true
		
		System.out.println("=== Math 클래스 ===");
		// Math.abs(데이터): 절대값 반환
		double result1 = Math.abs(-3.5);
		System.out.println(result1);	// 3.5
		
		// max(데이터1, 데이터2), min(데이터1, 데이터2): 최대값, 최소값 반환
		System.out.println(Math.max(2345678, 1234567));
		System.out.println(Math.min(2345678, 1234567));
		
		// sqrt(데이터): 제곱근 반환
		System.out.println(Math.sqrt(4.0));	// 2.0
		// random(); 0.0에서 1.0사이의 난수 생성
		System.out.println(Math.random() * 10);
		
		// pow(a, b): a의 b거듭제곱 반환
		System.out.println(Math.pow(2, 4));	// 16
		
		System.out.println("=== String 클래스 ===");
		String message= "Hello, World!";
		// length(): 문자열 길이 반환
		System.out.println(message.length());	// 13
		// eqauls(a, b): 두 문자열 비교
		boolean isEqual = message.equals("Hello, World!");
		System.out.println(isEqual);	// true
		// substring(int 시작인덱스, int 끝인덱스): 부분 문자열 반환
		// substring();
		// >> 시작번호, 끝번호
		// >> 시작 번호는 포함(이상)! 끝 번호는 미포함(미만)
		System.out.println(message.substring(7, 12));	// World
		
		// indexOf(String str): 특정 문자열의 위치를 찾음
		int index = message.indexOf("World");
		System.out.println(index);	// 7
		// charAt(int index): 특정 위치의 문자를 반환
		char ch = message.charAt(1);
		System.out.println(ch);	// e
		
	}
}

 

java.io : 입출력과 관련된 클래스

  • File, InputStream 등과 같은 외부의 입출력과 관련

java.util : 유틸리티 클래스(List, Map, Data 등)

  • 자바의 표준 라이브러리 중 하나
  • 데이터의 구조, 시간과 날짜 처리, 무작위 숫자 생성 등의 기능을 포함
  • 외부에 있는 클래스를 import 사용

1) Date 클래스

  • 날짜와 시간을 표현
  • 현재의 밀리초 단위까지를 반환
  • toString(): 현재 날짜 시간을 문자열로 반환
  • getTime(): 현재의 밀리초 단위를 반환

2) Calendar 클래스

  • 날짜와 시간을 처리하기 위한 추상 클래스
  • getInstance(): 현재 날짜와 시간으로 설정된 Calendar 객체를 반환
  • get(int field): 지정된 필드의 값은 반환
  • set(int year, int month, int date): 연, 월, 일 설정

(예제 코드)

더보기
더보기
import java.util.Calendar;

public class JavaUtil {
	public static void main(String[] args) {
		// 외부 패키지의 클래스를 인스턴스화 하여 사용
		Date date = new Date();
		System.out.println(date.toString());	// Mon Sep 09 16:37:59 KST 2024
		System.out.println(date.getTime());	// 1725867479588
		
		Calendar calendar = Calendar.getInstance();
		int year = calendar.get(Calendar.YEAR);
		
		// month(달)이 0 ~ 11 까지의 수로 반환
		int month = calendar.get(Calendar.MONTH) + 1;
		int day = calendar.get(Calendar.DAY_OF_MONTH);
		
		System.out.println(year + " " + month + " " + day);	// 2024 9 9
		
	}
}

 

자바 API 공식 문서
https://docs.oracle.com/en/java/javase/17/docs/api/index.html