본문 바로가기

전체 글81

[JAVA] 프로세스와 스레드, 시스템 발전 과정(멀티 프로그래밍, 멀티태스킹) 프로그램과 프로세스 프로그램어떤 작업을 위해 실행할 수 있는 파일의 형태로 하드디스크에 저장된 것아직 파일이 실행된 상태는 아니기 때문에 정적인 상태프로그램은 코드 덩어리 자체 프로세스프로그램이 실행된다는 것은하드 디스크에 존재하던 실행 파일이 시스템 메모리에 올라간다(로드)는 것이고프로그램이 운영체제(OS)에 의해 CPU를 할당 받고CPU에 의해 프로그램이 실행되고 있는 상태를 말함코드 덩어리인 프로그램을 실행 시켜서정적인 프로그램이 동적으로 변하여 프로그램이 실행되는 상태를 말함프로세스는 자원(메모리, CPU 등)과 쓰레드로 구성됨- 프로그램은 정적- 프로세스는 동적, 프로그램이 실행된 것이므로 동적인 상태  멀티 프로세스1개의 CPU를 사용하여 여러 프로세스를 동시에 수행하는 것여러 개의 프로세스를.. 2024. 4. 29.
[JAVA] wrapper 클래스, 오토박싱과 언오토박싱 wrapper 클래스란?자바의 자료형은 데이터의 타입을 의미하고, 기본 타입(primitive type)과 참조 타입(reference type)으로 나누어짐[ 자료형 ]1. 기본 타입 : byte, short, int, long, float, double, char, boolean2. 참조 타입 : 참조할 수 있는 모든 자료형(배열, class, enum 등)기본 타입의 데이터를 참조 타입으로 표현해야 하는 경우가 있는데, 이 경우에 기본 타입의 데이터를 객체화 해야 할 필요가 있음기본 타입의 데이터를 객체화 하기 위해서 사용하는 클래스를 래퍼 클래스(wrapper class)라고 함따라서, 모든 기본 타입은 객체로 표현할 수 있음이러한 객체를 포장 객체라고 하는데, 기본 타입의 값을 내부에 두고 외부.. 2024. 4. 28.
[JAVA] Map 인터페이스(HashMap, TreeMap) Map 인터페이스 특징키(key)와 값(vale)의 쌍으로 연관지어 이루어져있는 데이터의 집합키(key)는 해당 Map에서 고유해야 하고(중복 허용 X)값(value)는 중복하여 저장할 수 있음기존에 저장된 데이터와 중복된 키(key)와 값(value)를 저장하면기존의 값은 없어지고, 마지막에 저장한 값이 남게 됨저장한 순서가 유지되지 않음키(key) 값은 중복 되어서는 안됨 종류HashMap 클래스HashTable 클래스TreeMap 클래스Properties 클레스    HashMap 클래스특징키(key)와 값(value)을 한쌍으로 묶어 데이터를 저장키(key)를 이용하여 HashMap의 값(value)을 얻을 수 있음중복을 허용하지 않고순서를 보장하지 않음키(key)와 값(value)의 값으로 nu.. 2024. 4. 28.
[JAVA] Queue 인터페이스 Queue 인터페이스정의먼저 저장된 객체가 먼저 인출되는 구조를 가진 컬렉션 특징FIFO(First In First Out, 선입선출)입력과 출력을 다른 위치에서 수행하므로, 가장 먼저 입력한 객체가 가장 먼저 출력 사용 예브라우저에서 사용자의 요청이 갑자기 몰리면서버에서는 일단 Queue를 만들어서 사용자의 요청을 저장한 후에 빠른 요청(가장 먼저 들어온)부터 하나씩 인출하여 처리 2024. 4. 28.
[JAVA] 공변성이 없는 제네릭, 제네릭 와일드 카드 제네릭 타입은 공변성을 가지지 않는다[ 공변성, 반공변성 ]- 서로 다른 타입간에 함께 변할 수 있는 특징- 서로 다른 타입간의 형 변환인 업캐스팅(공변성), 다운캐스팅(반공변성)과 유사함  제네릭 타입으로 지정되면, 상하 관계에 있는 타입끼리도 형 변환이 불가제네릭의 타입 파라미터끼리는 상하 관계(상속 관계 등)가 있다고 해도 캐스팅(형 변환)이 불가능함(상위 클래스) Object, (하위 클래스) Number를 제네릭 타입 파라미터로 사용했을 때Number를 Object로 업캐스팅 불가(상위 클래스) Number, (하위 클래스) Integer를 제네릭 타입 파라미터로 사용했을 때 Integer를 Number로 업캐스팅 불가 [ 객체 타입은 상하관계가 있음 ]- 다형성의 성질을 사용할 수 있음- 조상.. 2024. 4. 26.
[JAVA] 제네릭 객체 생성 및 사용하기 용어 정리하고 가기1. Type Parameter (타입 파라미터)- generic 타입을 명시하기 위한 곳- 정의된 타입 파라미터가 내부적으로 실제 타입으로 변환- 예제 : T2. Type Argument (타입 인수)- 제네릭 클래스 생성 시에, 사용할 타입을 작성하는 곳- 예제 : Integer3. Parameterized Type - Type Argument에 의해서 Type Parameter(T)가 치환된 전체 데이터 타입- 예제 : Age    제네릭클래스나 인터페이스명 뒤에 "" 부호가 붙고, 그 사이에 타입 파라미터를 넣음 데이터 타입을 파라미터로 가지는 클래스와 인터페이스를 선언하여 사용할 수 있음타입 파라미터는 일반적으로 대문자 알파벳 한 글자로 표현함특정 클래스나 인터페이스를 다양한 .. 2024. 4. 26.