Note-Taking / / 2024. 9. 24. 23:26

Java 메서드의 주요 개념과 정리

1. Object 클래스 메서드

 

모든 Java 클래스는 암묵적으로 Object 클래스를 상속하므로, Object 클래스의 메서드는 모든 Java 객체에서 사용할 수 있어.

 

toString() : 객체의 문자열 표현을 반환.

equals(Object obj) : 두 객체가 같은지 비교.

hashCode() : 객체의 해시코드를 반환.

clone() : 객체의 얕은 복사본을 생성.

finalize() : 객체가 GC에 의해 제거되기 직전에 호출됨.

 

2. String 클래스 메서드

 

문자열 처리를 위해 사용되는 메서드들로, String 클래스는 불변 객체이므로 메서드들은 대부분 새로운 문자열을 반환해.

 

length() : 문자열의 길이를 반환.

charAt(int index) : 특정 위치의 문자를 반환.

substring(int beginIndex, int endIndex) : 특정 구간의 문자열을 반환.

equals(Object obj) : 문자열의 내용이 같은지 비교.

toUpperCase() : 문자열을 대문자로 변환.

trim() : 앞뒤 공백을 제거.

 

3. Math 클래스 메서드

 

수학 관련 메서드를 제공하는 Math 클래스는 대부분 정적 메서드로 이루어져 있어.

 

abs(int a) : 절대값을 반환.

max(int a, int b) : 두 값 중 큰 값을 반환.

min(int a, int b) : 두 값 중 작은 값을 반환.

pow(double a, double b) : 제곱 값을 계산.

sqrt(double a) : 제곱근을 계산.

random() : 0.0과 1.0 사이의 난수를 반환.

 

4. Arrays 클래스 메서드

 

배열을 처리하는 데 사용되는 메서드들.

 

sort(int[] array) : 배열을 정렬.

binarySearch(int[] array, int key) : 배열에서 이진 탐색을 수행해 요소를 찾음.

copyOf(int[] original, int newLength) : 배열을 복사해 새 배열을 반환.

fill(int[] array, int value) : 배열을 특정 값으로 채움.

 

5. Collections 클래스 메서드

 

컬렉션 처리에 필요한 유틸리티 메서드들이 정의된 클래스.

 

sort(List<T> list) : 리스트를 정렬.

binarySearch(List<? extends Comparable<? super T>> list, T key) : 리스트에서 이진 탐색을 수행.

reverse(List<?> list) : 리스트의 요소 순서를 역순으로 변경.

shuffle(List<?> list) : 리스트의 요소를 무작위로 섞음.

 

6. Thread 클래스 메서드

 

멀티스레딩을 위한 Thread 클래스의 메서드들.

 

start() : 스레드를 시작.

run() : 스레드가 실행할 코드를 정의.

sleep(long millis) : 스레드를 일정 시간 동안 정지시킴.

interrupt() : 스레드를 인터럽트.

 

7. InputStream/OutputStream 메서드

 

입출력 스트림 관련 메서드들.

 

read() : 바이트 단위로 데이터를 읽음.

write(int b) : 바이트 단위로 데이터를 씀.

close() : 스트림을 닫음.

 

8. File 클래스 메서드

 

파일 및 디렉토리 작업을 위한 메서드들.

 

createNewFile() : 새로운 파일을 생성.

exists() : 파일 또는 디렉토리의 존재 여부를 확인.

delete() : 파일을 삭제.

mkdir() : 새 디렉토리를 생성.

 

9. Optional 클래스 메서드

 

Java 8부터 추가된 Optional 클래스는 값이 있을 수도 있고 없을 수도 있는 객체를 다룰 때 사용돼.

 

isPresent() : 값이 존재하는지 확인.

ifPresent(Consumer<? super T> action) : 값이 있으면 동작을 실행.

orElse(T other) : 값이 없을 경우 대체 값을 반환.

 

10. Lambda와 Stream API 메서드

 

Java 8부터 추가된 람다스트림 관련 메서드들.

 

forEach(Consumer<? super T> action) : 스트림의 각 요소에 대해 동작을 실행.

map(Function<? super T, ? extends R> mapper) : 각 요소를 변환.

filter(Predicate<? super T> predicate) : 조건을 만족하는 요소만을 걸러냄.

collect(Collectors.toList()) : 스트림 결과를 리스트로 수집.

 

11. LocalDateTime 클래스 메서드

 

Java 8부터 도입된 날짜와 시간 처리를 위한 LocalDateTime 클래스는 불변 객체로, 날짜와 시간을 처리하는 다양한 메서드를 제공해.

 

now() : 현재 날짜와 시간을 반환.

of(int year, int month, int dayOfMonth, int hour, int minute) : 특정 날짜와 시간을 지정해 객체를 생성.

plusDays(long daysToAdd) : 지정한 일수를 더함.

minusMonths(long monthsToSubtract) : 지정한 개월 수를 뺌.

format(DateTimeFormatter formatter) : 특정 형식으로 날짜와 시간을 포맷.

 

12. StringBuilder 클래스 메서드

 

StringBuilder는 문자열을 자주 수정하는 경우에 유용해. 불변 객체인 String 클래스와 달리 StringBuilder는 가변 객체로, 문자열을 수정할 때 성능이 좋지.

 

append(String str) : 문자열을 추가.

insert(int offset, String str) : 지정한 위치에 문자열을 삽입.

delete(int start, int end) : 지정한 범위의 문자열을 삭제.

reverse() : 문자열을 뒤집음.

 

13. UUID 클래스 메서드

 

UUID는 고유한 식별자를 생성하는 데 사용돼.

 

randomUUID() : 무작위 UUID를 생성.

toString() : UUID를 문자열로 변환.

 

14. Comparator 인터페이스 메서드

 

정렬을 사용자 정의하고자 할 때 사용하는 Comparator 인터페이스.

 

compare(T o1, T o2) : 두 객체를 비교.

reversed() : 기본 비교 결과를 역순으로 반환.

 

15. Files 클래스 메서드

 

Java의 NIO 패키지에 속한 Files 클래스는 파일 및 디렉토리 처리를 위한 여러 정적 메서드를 제공해.

 

readAllBytes(Path path) : 파일의 내용을 바이트 배열로 읽음.

write(Path path, byte[] bytes) : 바이트 배열을 파일에 씀.

copy(Path source, Path target) : 파일을 복사.

move(Path source, Path target) : 파일을 이동.

exists(Path path) : 파일 또는 디렉토리가 존재하는지 확인.

 

16. ExecutorService 메서드

 

멀티스레드 환경에서 ExecutorService를 통해 스레드를 관리할 수 있어.

 

submit(Runnable task) : 비동기 작업을 제출.

invokeAll(Collection<? extends Callable<T>> tasks) : 여러 작업을 동시에 실행.

shutdown() : ExecutorService를 종료.

 

17. CompletableFuture 클래스 메서드

 

비동기 작업을 처리하기 위한 CompletableFuture는 Java 8부터 추가된 기능으로, Future의 한계를 극복할 수 있어.

 

supplyAsync(Supplier<U> supplier) : 비동기 작업을 실행.

thenApply(Function<? super T,? extends U> fn) : 비동기 작업 후에 결과를 처리.

thenAccept(Consumer<? super T> action) : 결과를 받아서 처리.

 

18. Path 인터페이스 메서드

 

Path는 파일 경로를 나타내는 인터페이스로 NIO 패키지에서 제공돼.

 

getFileName() : 파일 이름을 반환.

getParent() : 상위 디렉토리를 반환.

resolve(String other) : 상대 경로를 현재 경로에 추가해 반환.

 

19. Pattern 클래스 메서드

 

정규 표현식을 처리하기 위한 Pattern 클래스는 다양한 메서드를 제공해.

 

compile(String regex) : 정규 표현식을 컴파일.

matcher(CharSequence input) : 입력 문자열과 정규 표현식을 매칭.

split(CharSequence input) : 정규 표현식을 기준으로 문자열을 분리.

 

20. Scanner 클래스 메서드

 

입력 스트림으로부터 데이터를 읽기 위한 Scanner 클래스.

 

nextLine() : 한 줄을 입력받음.

nextInt() : 정수를 입력받음.

hasNext() : 다음 입력이 있는지 확인.

 

21. Properties 클래스 메서드

 

Properties 클래스는 애플리케이션의 구성 설정을 저장하고 읽을 때 사용돼.

 

load(InputStream inStream) : 입력 스트림으로부터 프로퍼티를 읽음.

getProperty(String key) : 지정한 키에 해당하는 값을 반환.

setProperty(String key, String value) : 프로퍼티를 설정.

 

22. DateTimeFormatter 클래스 메서드

 

Java 8 이후의 LocalDateLocalDateTime 객체를 포맷하거나 구문 분석할 때 사용돼.

 

ofPattern(String pattern) : 지정한 패턴으로 포맷터를 생성.

format(TemporalAccessor temporal) : 날짜 및 시간을 포맷.

 

이 외에도 Java는 수천 개의 메서드와 클래스를 포함하고 있어. 각 메서드는 특정 클래스에 속해 있어 그 역할과 사용처가 다르므로, Java의 공식 API 문서를 통해 더 많은 메서드들을 학습할 수 있어:

 

공식 문서:

 

Java 공식 API 문서

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유