일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 부적합한열
- springboot
- ResultType
- Spring
- SQL
- HTML
- oracle
- BCryptPasswordEncoder
- assertequals
- MVC
- git amend
- git revase
- localStorage
- Thymeleaf
- JDBC
- git reset
- CRUD
- WHEREIN
- 배열
- 이딴게개발자
- git
- Variabla
- passwordencoder
- JavaScript
- useContext
- Java
- mybatis
- react
- content-box
- PathVariable
- Today
- Total
개발새발
[Java] API 본문
**API (Application Programming Interface)
응용프로그램에서 다른 소프트웨어와 상호작용을 할 수 있도록 제공되는 일련의 규칙과 명령어 집합
다른 서비스, 라이브러리, 운영체제 또는 플랫폼과 통신하기 위해 사용
프로그래머에게 특정 서비스 또는 라이브러리와 상호작용할 수 있는 방법을 제공
HTTP 요청을 통해 데이터를 전송하고 받는 형태로 사용
**SDK (Sofrware Development Kit)
특정 소프트웨어 또는 하드웨어 플랫폼에 대한 개발 도구와 리소스 집합
Skd는 개발자가 특정 플랫폼 또는 서비스를 활용해서 응용 프로그램을 만들 때
필요한 도구, 라이브러리, 예제코드 및 문서를 포함
일반적으로 API 호출을 추상화하고 개발자에게 보다 쉬운 방법으로 상호작용 가능한 인터페이스 제공
말이 너무 어려워요옹.. 하지만 코드 예시를 좀 작성하다보니 감이 온다!
간단하게 말을 하자면
API : 구현된 기능을 가져다 쓸 수 있는 명령어
SDK: 기능을 구현하는데 필요한 재료를 다 드릴게요 만들어보세요
사실 우리가 자연스럽게 쓰고있는 System.out.println()도, String기능도 어떤 훌륭하신 분이 저 코드만 입력하면 바로 출력하고 문자열 기능을 쓸 수 있게끔 구현해놓은 API라고 볼 수 있다.
오늘 배운 API에는 다음 예시들이 있다
1. Calendar
날짜와 시간을 다루기 위해 쓰이는 클래스 ex) 현재 날짜와 시간 가져오기
사용하기 위해서는 'java.util.Calendar' import 필요
**주의: Month는 0월부터 취급되기 때문에 원하는 날짜에 해당하는 달을 출력하려면 +1을 해줘야 함
package api;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class CalenderMain {
public static void main(String[] args) {
//Calendar 클래스를 사용한 현재 날짜와 시간 가져오기
Calendar calendar = Calendar.getInstance();
int year = calendar.get(calendar.YEAR);
int month = calendar.get(calendar.MONTH);
int day = calendar.get(calendar.DAY_OF_MONTH);
int hour = calendar.get(calendar.HOUR_OF_DAY);
int minute = calendar.get(calendar.MINUTE);
int second = calendar.get(calendar.SECOND);
System.out.println("calendar 클래스를 사용한 현재 날짜와 시간");
System.out.print(year + "년 ");
System.out.print(month + "월 ");
System.out.print(day + "일 ");
System.out.print(hour + "시 ");
System.out.print(minute + "분 ");
System.out.println(second + "초");
//GregorianCalendar 클래스를 활용한 현재 날짜와 시간 가져오기
GregorianCalendar gCalendar = new GregorianCalendar();
year = gCalendar.get(Calendar.YEAR);
month = gCalendar.get(Calendar.MONTH) +1; //0월부터 인식한다
day = gCalendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "년 " + month + "월 " + day + "일");
}
}
2. Date
날짜와 시간 정보를 나타내는데 사용
java.time. + LocalDate, LocalTime, LocalDateTime을 통해 사용 가능
3. Object
모든 자바 클래스의 최상위 클래스로, 모든 클래스가 기본적으로 Object를 상속받음
- equal() : 객체의 내용이 다른 객체와 같은지 비교
- hashcode() : 객체의 해시 코드를 반환
- toString() : 객체를 문자열로 표현하는데 사용
- getClass() : 객체의 클래스 정보를 반환
- clone() : 객체의 복사본을 생성
- finalize() : 객체가 가비지컬렉션 될 때 호출
- wait() : 대기
등등이 존재한다
4. Replace
글자 자체를 교체(replace) 하는 기능을 가진 메서드
문자열 내에서 특정 문자열 또는 문자를 다른 문자열 또는 문자로 교체하는데 사용된다
문자열에서 특정 패턴을 찾아서 변경할 때 유용함
package com.kh.api.exam1;
public class ReplaceMain {
//글자 자체를 교체
public static void main(String[] args) {
/*
String input = "Hello, world!";
String reInput = input.replace(" ", "-"); //공백을 하이픈으로 변경
System.out.println(reInput); //출력값: Hello,-world!
String input2 = reInput.replace("-"," ");
System.out.println("input2 : " + input2);
*/
ReplaceMain rm = new ReplaceMain(); //클래스 인스턴트 rm생성
rm.replace(); //인스턴트에 메서드 적용
rm.replace2();
rm.replace3();
rm.replace4();
rm.replaceAll();
}
public void replace() {
String input = "Hello World!";
//World를 Java로 교체
String reInput = input.replace("World" , "Java");
System.out.println(reInput);
}
public void replace2() {
String originName = "Hello World!";
// 'o'로 적혀있는 문자열들 'x'로 변경하기
String reName = originName.replace("o", "x");
System.out.println(reName);
}
public void replace3() {
String originString = "The quick brown fox jumps over the lazy dog";
//fox를 cat으로 바꾸기
String reString = originString.replace("fox", "cat");
System.out.println(reString);
}
public void replace4() {
String originString = "The quick brown fox jumps over the lazy dog";
//모든 공백 제거하기
String reString = originString.replace(" ", "");
System.out.println(reString);
}
public void replaceAll() {
String originString = "Hello World";
//replace 대신 replaceAll을 이용해서 대소문자 구분없이 문자열 치환하기
String reAllstr = originString.replaceAll("(?i)world", "Java");
System.out.println(reAllstr);
}
}
5. StringTokennizer
문자열을 특정 구분자를 기준으로 토큰으로 분리하는데 사용
가변적 문자열, 문자열이 변경이나 조작이 필요한 경우 사용
입력 문자열을 파싱하거나 특정 형식의 문자열을 분해하는데 유용하다
**파싱(Parsing): 데이터를 분해 분석하여 원하는 형태로 조립하고 다시 빼내는 것
**토큰: 쪼개진 문자열
문자열 교체 자체에 기능을 둔 replace와는 다르
package com.kh.api.exam1;
public class StringBufferMain {
public static void main(String[] args) {
//빈 StringBuffer 객체 생성
StringBuffer sb = new StringBuffer();
//문자열 추가
sb.append("Hello, ");
sb.append("Java ");
sb.append("StringBuffer!");
//문자열 출력
System.out.println(sb.toString());
//문자열 삽입
sb.insert(6, "Eclipse"); //6번째자리부터 이클립스 워드 삽입
System.out.println(sb.toString());
sb.replace(13, 17, "WwowW");
System.out.println(sb.toString());
//문자열 삭제
sb.delete(13,20);
System.out.println(sb.toString());
//문자열 뒤집기
sb.reverse();
System.out.println(sb.toString());
}
}
6. Wrapper
여기서부터는 졸리므로 다음에 시간나면 추가하기...
'Java > 개념을 Java' 카테고리의 다른 글
[Java] 배열과 리스트 2 : ArrayList (0) | 2023.09.20 |
---|---|
[Java] 배열과 리스트 1 : Array ~ 다차원 배열 (1) | 2023.09.18 |
[Java] 추상클래스 Abstract (0) | 2023.09.12 |
[Java] 변수의 종류 (0) | 2023.09.12 |
[Java] 생성자와 this (0) | 2023.09.11 |