1. 예외 처리 like 보험
- 오류와 에러 -> 프로그램오류를 두가지로 구분할수있다.
- 에러는 메모리 부족, 스택오버플로우와 같이 발생하면 복구할수없는 심각한오류이다.
- 에러는 컴파일에러 런타임에러 논리적에러가 있는데 대개 논리적에러는 인텔리제이에서 먼저 경고를 해주어 알수 있으나 컴파일에러나 런타임에러는 실행해봐야 알수있는 경우가 있다.
- 예외클래스의 최상위는 Exception이라고 할수있는데 그위에 Throwable 과 Object가 있음을 알아야 한다.
- 예외 던지기(throws)가있는데 메서드나 생성자를 호출한곳으로 예외를 떠넘기는 방법이다. 이 키워득가 이쓴메서드는 반드시 try블록내부에 있어야 한다.
- 예외를 발생시키는 throw 개발자의 기준에서 목표한 결과값을 도달하지 못하는 경우에 사용할수있다. 다시말해 잘못된 값으로가는 것을 막는 역할을 진행한다.
- 예외 처리를 하기 위해서 try-catch문을 사용해야 한다.
try{
}cathch (Exception1 e1){ 예외가 발생할 가능성이 있는 문장
}cathch (Exception2 e2){ 예외가 발생할 가능성이 있는 문장
}cathch (Exception3 e3){ 예외가 발생할 가능성이 있는 문장
}cathch (Exception4 e4){ 예외가 발생할 가능성이 있는 문장
}
이와 같이 사용이 가능하다.
위에서 Eception1에서 부터 예외가 발생하는 지 확인하면서 아래로내려오는 데, 예외 발생시 빠져나갓면서 다음문장을 계속 실행한다. 따라서 return과 같이 바로끝내는 것이 아님을 인지해야 한다.
2. 자바표준API
- Object 클래스
- equals(Object obj): 두 객체가 같은지 비교한다.그렇기 때문에 클래스에 맞게 변형해서 사용한다.
- 참고로 String의 equals도 Object의 equals를 오버라이딩 한 것이다.
- 근데 Object의 equals는 두 객체의 주소값을 단순히 비교하기 때문에 ==을 쓰는 것과 같다.
- hashCode(): 객체의 해시 주소값을 반환한다.
- 이 메서드 역시 하위 클래스에서 오버라이딩하여, 객체 내용의 변화에 따라 적절한 값을 반환하도록 구현하는 것이 일반적이다.
- toString(): 객체를 문자열로 변환하여 반환한다.컴파일 과정에서 붙어서 출력된다.대부분은 해당 객체의 속성들을 출력하는 것으로 오버라이딩 하여 사용한다.
- 기본 toString()은 단순 패키지 경로 및 클래스 이름과 16진수의 주소값이 나타나게 되며
- 이것은 객체의 주소값을 담고 있는 참조 변수를 그대로 출력했을 때 toString()이 자동으로
- clone(): 객체를 복제하여 반환한다.
- getClass(): 객체의 클래스를 반환한다.
- finalize(): 객체의 소멸자 역할을 합니다. 이 메서드는 GC(Garbage Collector)에 의해 호출된다.
- System 클래스
- exit(): 현재 실행하고 있는 프로세스를 강제 종료시킨다.
- 정상 종료일경우 매개값으로 0을 주고, 비정상 종료인경우 0 이외에 다른 값을 준다.
- currentTimeMillis(), nanoTime() 1970년 1월 1일 자정을 기준으로 현재까지 흐른 유닉스 시간을 밀리세컨드(1/1000초) 단위와주로 프로그램의 실행 소요 시간 측정으로 성능을 테스트할 때 사용한다.
- 나노세컨드(1/10^9초)단위의 long값으로 리턴한다.
- getProperty(): JVM이 시작할 때 자동 설정되는 시스템의 속성값을 보여준다.
- gc(): Garbage Collector를 실행시킨다. 하지만 가비지 컬렉터가 언제 실행될 지는
- 보장해 주지 않는다.
- String 클래스
- length() 메서드: 문자열의 길이를 반환한다.
- charAt() 메서드: 지정된 위치의 문자를 반환한다.
- substring() 메서드: 지정된 시작 위치에서부터 지정된 끝 위치까지의 문자열을 반환한다.
- toUpperCase() 메서드: 모든 문자를 대문자로 변환한다.
- toLowerCase() 메서드: 모든 문자를 소문자로 변환한다.
- indexOf() 메서드: 지정된 문자나 문자열이 처음으로 나타나는 위치를 반환한다.
- replace() 메서드: 지정된 문자나 문자열을 다른 문자나 문자열로 바꾼다.
- split() 메서드: 지정된 문자열을 기준으로 문자열을 나눈다.
- StringBuilder() 클래스(StringBuffer)★★★★★(코딩테스트에서 유용!!!) 속도가 매우 빠름.
- append(): 기존 문자열의 뒤에 문자열을 추가한다.
- insert(): 특정 위치에 문자열을 추가한다.
- delete(): 문자열을 삭제한다.
- deleteCharAt(): 특정 인덱스의 문자 하나를 삭제한다.
- replace(): 문자열의 일부분을 다른 문자열로 대체한다.
- setCharAt(): 문자열에서 주어진 index의 문자를 다른 문자로 대체한다.
- toString(): StringBuilder 객체의 값을 문자열로 반환한다.
- reverse(): 문자열을 거꾸로 뒤집는다.
- Math 클래스
- abs(): 절대값을 구함.
- ceil(): 올림값을 구함.
- floor(): 내림값을 구함.
- max(): 수를 비교하여 최대값을 구함.
- min(): 수를 비교하여 최소값을 구함.
- random(): 랜덤값을 구함(0.0 <= 값 < 1.0)
- rint(): 현재 수에서 가까운 정수를 실수형태로 구함.
- round(): 반올림값을 구함.
- Wrapper 클래스
- 오토박싱 : 기본타입(int, double)을 객체로 포장하는 과정
- 오토언박싱 : 객체로 포장된것을 기본타입으로 변환
- 중요포인트는 다 이름이 첫글자만 대문자로 바뀌는데 int = Integer 와 char =Character로변환한다는 것을 인지.
- LocalDateTime 클래스
- now() : 현재 날짜와 시간 정보를 가지는 LocalDateTime 객체를 반환합니다.
- of() : 지정한 날짜와 시간 정보를 가지는 LocalDateTime 객체를 생성합니다.
- getXXX() : LocalDateTime 객체에서 지정한 필드의 값을 반환합니다.
- plusXXX() : LocalDateTime 객체에 지정한 시간을 더한 새로운 LocalDateTime 객체를 생성합니다.
- minusXXX() : LocalDateTime 객체에서 지정한 시간을 뺀 새로운 LocalDateTime 객체를 생성합니다.
- format() : LocalDateTime 객체를 지정한 형식으로 변환하여 문자열로 반환합니다. (예: "yyyy-MM-dd HH:mm:ss"), DateTimeFomatter 객체를 활용.
이 위에 정리해놓은 것은 우리 강사님의 피이며, 땀이다. 그런데 강사님이 굳이 외우지 않아도 된다고 했으니
이경민 강사님께 감사한 마음을 가지며 필요할때 참고해서 가져가자 .
'PlayData 백엔드 부트캠프 정리' 카테고리의 다른 글
PlayData 백엔드 부트캠프 Start 11일차(JAVA 수업끝...ㅠ) (0) | 2024.08.23 |
---|---|
PlayData 백엔드 부트캠프 Start 10일차 (0) | 2024.08.21 |
PlayData 백엔드 부트캠프 Start 8일차 (0) | 2024.08.19 |
PlayData 백엔드 부트캠프 Start 7일차 (0) | 2024.08.17 |
PlayData 백엔드 부트캠프 Start 6일차 (0) | 2024.08.15 |