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