목록JAVA (69)
JAVA를 잡아라!...

문제 출처 : 프로그래머스 #26 마지막 두 원소 문제 설명 정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요. 입출력 예 num_listresult [2, 1, 6][2, 1, 6, 5] [5, 2, 1, 7, 5][5, 2, 1, 7, 5, 10] 소스코드 풀이 class Solution { public int[] solution(int[] num_list) { int length = num_list.length; // 기존 배열에서 마지막 index에 값 추가를 위해 새로운 배열 생성 int[] answe..
#1 프로세스와 스레드 멀티태스킹 : 동시에 두가지 이상의 작업을 처리하는 것 멀티태스킹을 위한 두 가지 도구 : 프로세스, 스레드 프로그램 : 파일이 존재하지만 아직 메모리에 올라가 있지 않은 상태, 즉, 실행되지 않은 코드의 집합 프로그램을 실행하는 순간 메모리에 올라가고 동작하게 되는데 이 상태의 프로그램을 '프로세스'라고 함 프로세스 프로그램이 동작하여 메모리에 올려진 상태, 실행 중인 프로그램을 의미 프로세스는 독립적으로 메모리에 등록되므로 여러 개의 프로그램을 동시에 실행할 수 있게 됨 프로세스가 여럿이 병렬적으로 실행되는 것을 thread가 해결해줌 스레드 프로세스 내에서 독립적으로 실행되는 작업 단위 프로세스 내의 주소 공간이나 자원들과 같은 스레드끼리 공유하면서 실행됨 스레드는 프로세스의..
#1 람다식(Lambda expression) JDK 1.8부터 자바에서 지원하는 함수형 프로그래밍 함수의 이름이 없는 익명 함수(anonymous function)를 만들기 위한 표현식 자바는 객체 지향 프로그램으로 클래스 생성 후 클래스 안에 메서드와 객체 만들어서 사용 함수형 프로그래밍은 객체 지향 프로그래밍과 달리 함수만 구현하고 실행 *함수: 클래스에서 독립적, 메서드: 클래스에 종속적 #2 람다식 문법 '익명 함수'답게 메서드의 이름과 반환 타입을 제거하고 화살표 기호(→)를 사용해 구현 생략 () 소괄호 생략 : 매개 변수가 한 개인 경우 {} 중괄호 생략 : 함수의 return 타입이 없는(void) 경우 return 생략 : 중괄호 안의 구현 코드가 return 문만 존재하는 경우 (중괄..
#1 컬렉션 프레임워크 자바는 자료구조를 미리 구현하여 java.util 패키지에서 컬렉션 프레임워크를 제공 기존에 존재했던 자료 구조에 인터페이스로 설계된 기능을 클래스를 통해 제공하여 데이터 관리에 용이한 자료 구조 객체를 구조화한 것 컬렉션: 기존의 List, Map, Set 등의 자료 구조 프레임워크: 클래스와 인터페이스를 묶어 놓은 개념 List와 Set 인터페이스는 Collection 인터페이스를 상속받지만, Map 인터페이스는 구조상 차이로 별도로 정의 인터페이스 설명 특징 대표 구현 클래스 List 순서가 있는 데이터의 집합 데이터 중복 oo ArrayList, LinkedList, Vector Set 순서를 유지하지 않는 데이터의 집합 데이터 중복 xx HashSet, LinkedHash..
#1 자바 API 문서 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음 == 라이브러리 #2 java.lang 패키지 자바 프로그램의 기본적인 클래스를 담고 있는 패키지 (선언 없이 사용, import 필요 없음) 클래스 용도 Object 자바 클래스의 최상위 클래스로 사용 모든 클래스는 Object가 가진 여러 메서드를 그대로 사용하거나 override해 사용 가능 - boolean equals(Object obj) : 다른 객체와 자신이 가진 실제 값 비교 - int hashCode() : 객체의 hashCode 값을 반환 - String toString() : 객체 자신의 문자 정보를 반환 System 시스템의 표준 입/출력 장치로부터 데이터를 입력받거나 출력하기 위해 사용 자바 가상 기..
#1 예외 처리 ▶ 에러(error) 해결할 수 없는 시스템에 에러가 발생해 프로그램이 종료된 경우 시스템에 비정상적인 상황이 생겼을 때 발생 개발자가 예측하거나 처리할 수 없는 영역 OutOfMemoryError : 프로그램 실행 중 메모리 부족 IOError : 입출력 에러 StackOverFlowError : 가용 메모리 부족 현상, 재귀 호출 문제 시 발생 ▶ 예외(exception) 프로그램 사용 중 발생한 오류를 개발자가 처리해 메시지가 출력된 경우 프로그램 구동 중에 예외가 발생했을 경우 프로그램의 갑작스러운 종료를 막고 정상 동작할 수 있도록 처리하는 과정 구분 체크 예외 비체크 예외 처리 여부 문법적으로 예외 처리를 강제함 반드시 처리 해야 함 문법적으로 강제하지 않음 개발자..