전체 글25 [Chapter 13] 쓰레드 프로세스와 쓰레드프로세스란 간단히 말해서 '실행 중인 프로그램'이다. 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있으며 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 쓰레드이다. 그래서 모든 프로세스에는 최소한 하나 이상의 쓰레드가 존재하며, 둘 이상의 쓰레드를 가진 프로세스를 '멀티쓰레드 프로세스' 라고 한다. 멀티태스킹과 멀티쓰레딩현재 우리가 사용하는 윈도우나 유닉스를 포함한 대부분의 OS는 멀티태스킹을 지원하기 때문에 여러 개의 프로세스가 동시에 실행될 수 있다. 멀티쓰레딩의 장단점 장점- CPU의 사용률을 향상시킨다.- 자원을 보다 효율적으로 사.. 2024. 11. 30. [Chapter 12] 지네릭스, 열거형, 애너테이션 지네릭스(Generics)지네릭스를 모르고는 Java API 문서조차 제대로 보기 어려울 만큼 종요한 위치를 차지하고 있다. 지네릭스란?지네릭스란 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. 타입 안정성을 높인다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환되어 발생할 수 있는 오류를 줄여준 다는 뜻이다. 지네릭스의 장점1. 타입 안정성을 제공한다.2. 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해 진다. 간단하게,다룰 객체의 타입을 미리 명시해줌으로써 번거로운 형변환을.. 2024. 11. 26. [Chapter 11] 컬렉션 프레임웍 컬렉션 프레임웍(Collections Framework)'데이터 군을 저장하는 클래스들을 표준화한 설계'를 뜻한다.컬렉션 : 다수의 데이터, 즉 데이터 그룹프레임웍 : 표준화된 프로그래밍 방식인터페이스특징List순서가 있는 데이터의 집합. 데이터의 중복을 허용한다.예) 대기자 명단구현클래스 : ArrayList, LinkedList, Stack, Vector 등Set순서를 유지하지 않는 데이터의 집합. 데이터의 중복을 허용하지 않는다.예) 양의 정수집합. 소수의 집합구현클래스 : HashSet, TreeSet 등Map키와 값의 쌍으로 이루어진 데이터의 집합순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용한다.예) 우편번호, 지역번호(전화번호)구현클래스 : HashMap, TreeMa.. 2024. 11. 26. [Chapter 10] 날짜와 시간 & 형식화 날짜와 시간Calendar와 DateDate는 날짜와 시간을 다룰 목적으로 제공되는 클래스이다. Date 클래스의 단점을 보완한 Calendar라는 클래스가 나왔지만 몇 가지 단점이 발견되었다. JDK 1.8부터 'java.time 패키지'로 기존의 단점을 개선했다. Calendar는 추상 클래스이기 때문에 직접 객체를 생성할 수 없고, 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다.Calendar cal = new Calendar(); // 에러!Calendar cal = Calendar.getInstance(); java.time 패키지객체 생성하기 - now(), of() LocalDate date = LocalDate.now(); // 2024-11-25LocalTime time.. 2024. 11. 25. [Chapter 09] java.lang 패키지와 유용한 클래스 java.lang 패키지자바 프로그래밍에서 가장 기본이 되는 클래스들을 포함하고 있다. 그렇기 때문에 import문 없이도 사용할 수 있다.그동안 String클래스나 System클래스를 import 없이 사용할 수 있었던 것도 이러한 이유이다. Object 클래스equals(Object obj)매개변수로 객체의 참조변수를 받아서 비교하여 그 결과를 boolean 값으로 알려주는 역할을 한다.public boolean equals(Object obj) { return (this==obj);}import com.sun.jdi.Value;public class EqualsEx1 { public static void main(String[] args) { Value v1 = new Value(.. 2024. 11. 24. [Chapter 08] 예외처리 프로그램 오류컴파일 에러 - 컴파일 시에 발생하는 에러런타임 에러 - 실행 시에 발생하는 에러논리적 에러 - 실행은 되지만, 의도와 다르게 동작하는 것 에러 - 프로그램 코드에 의해서 수습될 수 없는 심각한 오류예외 - 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 예외처리하기 try-catch 문예외처리의정의 : 프로그램 실행 시 발생할 수 있는 예외에 대비한 코드를 작성하는 것목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것try { // 예외가 발생할 가능성이 있는 문장들을 넣는다.} catch (Exception1 e1) { // Exception1이 발생했을 경우, 이를 처리하기 위한 문장을 적는다.} catch (Exception2 e2) { // Exce.. 2024. 11. 23. 이전 1 2 3 4 5 다음