티스토리 뷰
백엔드 교육과정/2월
2024.02.21_Inner Class(익명 클래스(Anonymous class)), Lambda,Exception(예외처리)
Ji@n 2024. 2. 21. 17:11
1. 실습 내용 :
Lambda
람다(Lambda) 표현식
(매개변수1, 매개변수2 ,...) -> {실행문; 리턴;}
매개변수와 리턴타입 형태는 인터페이스의 추상메소드에 따라 결정됨
인터페이스 변수이름 = 람다 표현식
[1] ~ [4] 번까지 모두 같은 표현임!!
람다를 사용하면 [3] 번 익명 클래스를 한 줄로 요약한 코드와 같다!
Exception
컴파일 에러 : 소스코드 빌드 시 발생하는 에러
-> 실행 파일이 만들어지지 않았기 때문에 실행할 수 없음
예외(Exception) :
-> 소스코드를 빌드할 때는 에러가 없지만,
프로그램을 수행할 때 발생하는 오류
논리적 오류:
-> 컴파일 에러도 없고, 실행할 때 예외도 발생하지 않았지만
논리적인 문제 때문에 원하는 실행 결과가 나오지 않는 경우
컴파일 에러 예시 코드
논리적 오류 예시 코드
예외 처리 : try-catch 구문
- 예외 발생 상황에 대해 처리해주는 기능
try {
정상적인 실행 문장들;
}catch (예외클래스 변수이름){
예외 상황일 때 실행할 문장들;
}
오류가 발생하면 catch로 내려온다
Exception : 예외 처리를 위한 클래스
|_ ArithmetixException
|_ NullPotinterException
|_ ...
try {
정상적인 경우에 실행할 코드들;
} catch(Exception e){
예외 상황일 때 실행할 코드들;
} finally{
정상적인 경우든, 예외 상황이든 상관없이 항상 실행할 코드
}
try - catch를 이용한 퀴즈
쓰레드(Thread)
OS(운영체제) : 사용자의 하드웨어, 시스템 리소스를 제어하고
프로그램에 대한 서비스를 지원하는 시스템 소프트웨어
운영체제 종류 : Windows , Linux , Unix , MasOS
프로세스 : 운영체제 내에서 연속적으로 실행되고 있는 프로그램
쓰레드(Thread) : 하나의 작업을 순차적으로 진행하는 실행 코드
멀티 쓰레드 프로그램 :
- 하나의 프로그램(프로세스)에서 여러 개의 쓰레드를 동작하는 프로그램
예) 채팅 프로그램 : 채팅 + 파일 전송 (카톡에서 채팅과 파일 전송 두 가지 일을 동작 할 수 있게 하는 것 = 멀티 쓰레드)
자바에서 쓰레드를 생성하고 사용하는 방법1 :
- Thread 클래스를 상속받는 새로운 클래스 정의(extends Thread)
- 정의 한 새로운 클래스 안에서 run() 메소드를 override - > run() : 쓰레드가 해야 할 기능 구현
- 정의한 클래스의 인스턴스를 생성
- 생성된 인스턴스에서 strat() 메소드를 호출
-> 쓰레드가 가져야 할 메모리 공간을 확보, 스케줄링을 위해 쓰레드 등록, 초기화
-> 쓰레드의 run() 메소드가 자동으로 실행됨
'백엔드 교육과정 > 2월' 카테고리의 다른 글
2024.02.23_File 클래스(생성,삭제) , 연락처 ver 0.3 , 복습시 사용 사이트 추천 (0) | 2024.02.23 |
---|---|
2024.02.22_Thread, File, HW6 (0) | 2024.02.22 |
2024.02.20_List, ArrayList<E> & LinkedList<E>, Collection(Set<E>,HashSet,TreeSet),Map<K, V>, 연락처 ver.03(배열 -> 리스트) (0) | 2024.02.20 |
2024.02.19 _ String API (Wrapper,Date) (0) | 2024.02.19 |
2024.2.16. Interface , 상속/다형성 (복습) (0) | 2024.02.16 |