본문 바로가기

Java27

삼항 연산자 if-else문은 조건의 참, 거짓을 판별하여 값을 출력하는데 삼항 연산자를 사용해서도 참, 거짓에 따라 출력되는 값을 설정할 수 있다. 사용 방법 (조건) ? 참일 때 출력 값 : 거짓일 때 출력 값; if-else문 처럼 조건을 판별하는 방법도 있지만 삼항 연산자를 사용해서 한 줄 만으로 조건에 따른 출력값을 정해줄 수 있다. 2023. 1. 17.
제네릭 ( Generic ) 제네릭 ㅡ 메서드나 컬렉션 클래스의 타입을 체크 ㅡ 컴파일 시 체크해주기 때문에 타입 안정성 ↑, 형변환 번거로움 ↓ List strList = new ArrayList(); List : 원시 타입 String : 타입 변수 List : 제네릭 클래스 List strList = new ArrayList(); strList.add("기본 문자열"); String str = strList.get(0); // SOLID 원칙에 어긋난다. 최상위 클래스 object(부모)가 String(자식)이 된다는 꼴 // 강제 형 변환하면 사용은 가능함 → (String)strList.get(0); // 제네릭을 사용하지 않으면 매 번 형변환 작업을 해줘야 함 List strList2 = new ArrayList(); s.. 2023. 1. 13.
스레드 ( Thread ) Thread ㅡ 프로세스에서 작업 수행 / 모든 프로세스에는 한 개 이상의 스레드가 존재 멀티 스레드 프로세스(multi-threaded process) : 두 개 이상의 스레드로 작업을 수행하는 프로세스 *프로세스 → 실행 중인 프로그램 / 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 상태 / 프로세스는 데이터, 메모리 등의 자원과 스레드로 구성 시간분할 방식 : 모든 프로세스에게 동일한 시간 할당 선점 방식 : 프로세스에게 우선 순위 부여 후 높은 순으로 진행 스레드 생성 ㅡ Thread 클래스 상속 ㅡ Runnable 인터페이스 구현 Thread 클래스 상속 / Runnable 인터페이스 구현 class Thread1 extends Thread { public void run() {.. 2023. 1. 13.
ArrayList ArrayList ㅡ 배열에서 발전된 List ㅡ 0번 인덱스(위치)부터 요소(값) 저장 ArrayList 선언 ArrayList num = new ArrayList(); 데이터 추가 num.add(1); num.add(2); num.add(4); num.add(8); num.add(16); System.out.println(num); 0번 인덱스부터 추가한 순서대로 저장된다. num.add(1); num.add(2); num.add(4); num.add(8); num.add(16); num.add(3, 6); add(3, 6)으로 값을 추가하면 기존 3번 인덱스에 6이 저장되고 원래 있던 값 8은 인덱스 4로 밀려난다. 데이터 변경 num.add(1); num.add(2); num.add(4); num.. 2023. 1. 12.
컬렉션 프레임워크 ( Collection Framework ) / 제네릭 ( Generic ) Collection Framework ㅡ 데이터를 쉽고, 효율적으로 다루기 위한 클래스들의 집합 ㅡ 데이터를 저장하는 자료구조나 데이터를 처리하는 알고리즘 등 클래스를 구현 ㅡ Collection Framework는 인터페이스를 사용하여 구현 * Iterator : Collection 요소에 접근해 반복적인 작업에 도움을 주는 객체 Iterator 메서드 → hasNext() : 다음 요소가 있는지 확인 next() : 다음 요소 반환 Iterator it = num.iterator(); Generic ㅡ 클래스가 다룰 객체를 미리 명시 / 데이터 타입을 일반화(Generalize) ㅡ 클래스나 메서드에서 사용할 내부 데이터 타입을 미리 지정 List num = new ArrayList(); 를 타입 변.. 2023. 1. 12.
예외 처리 ( Exception Handling ) 예외 ㅡ 프로그램 실행 중 발생한 오류중에서 처리가 가능한 오류 에러 개발자가 조치를 취할 수 없는 수준 ( 메모리 부족, JVM 문제 ) 컴파일 에러 컴파일 시 발생하는 에러 (오타, 잘못된 자료형) 런타임 에러 프로그램 실행 중 발생하는 에러 로직 에러 실행은 되나 생각한 것관 다르게 작동하는 에러 예외 다른 방식으러 처리 가능한 오류 ( 입력 값 오류, 네트워크 문제 ) 예외 처리 ㅡ 예외 발생 시 미리 대처하는 코드를 작성하여 프로그램이 비정상적으로 종료되는 것을 막음 try-catch-finally try catch : 예외를 처리하기 위한 구문 try문에는 예외가 발생할 수 있는 코드를 작성 / catch문에는 예외가 발생할 경우 처리할 방법을 작성 finally : try catch문에 선택.. 2023. 1. 11.