본문 바로가기

아카이브/자바의 정석32

13장 Thread 20201118 프로세스와 쓰레드 프로세스 - 실행 중인 프로그램 - 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 됨 - 프로그램을 수행하는 데 필요한 데이터와 메모리등의 자원 그리고 쓰레드로 구성 - 최소한 하나 이상의 쓰레드가 존재 - 둘 이상의 쓰레드를 가진 프로세스를 '멀티쓰레드 프로세스'라고 함 쓰레드 - 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것 ex) 쓰레드(일꾼)는 프로세스(공장)에서 작업을 처리한다. 멀티태스킹과 멀티쓰레딩 멀티태스킹 - 여러 개의 프로세스가 동시에 실행되는 것 - 윈도우, 유닉스를 포함한 대부분의 OS가 지원 멀티쓰레딩 - 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 수행하는 것 - 동시에 처리되는 작업의 개수는 코어의 개수와 일치 .. 2020. 11. 18.
12장 지네릭스,열거형,애노테이션 20201116 금요일에 멘탈이 털리고 토,일은 공부안하고 보냈다. 놀면서도 공부생각이 나서 괴로웠다. 공부해야하는데.. 하면서도 막상 보면 이해도 안가고 스스로한테 화나서 회피했다. 에혀 다시 월요일이니까 시작한다. 으아아ㅏ아아럅 열거형에 멤버 추가하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 // 열거형 enum Direction { EAST(1, ">"), SOUTH(2, "V"), WEST(3, " 2020. 11. 16.
12장 지네릭스,열거형,애노테이션 20201113 열거형에 멤버 추가하기 - ordinal()에 의해 반환된 값을 열거형 상수의 값으로 사용x - 열거형 상수의 값이 불연속적인 경우에는 이름 옆에 원하는 값을 괄호()와 함께 적음 ex) enum Direction { EAST(1), SOUTH(5), WEST(-1), NORTH(10) } - 지정된 값을 저장할 수 있는 인스턴스 변수와 생성자도 추가해야 함 ( 열거형 생성자는 private ) - 열거형 상수 정의 후 다른 멤버추가 - 열거형 상수 마지막에 ';'추가 집중ㅇ이 안된다 왜 이리 못할까 왜 잘하지 못할까 왜 이해ㅎ하지 못할까 오랜 시간 붙잡고 있는 내가 너무 한심하다 왜 이해를 못하지 왜 하지 못하지 왜 앞으로 나아가질 못하지 정말 너무 힘들다 2020. 11. 13.
12장 지네릭스,열거형,애노테이션 20201112 지네릭 타입의 형변환 - 지네릭 타입과, 논지네릭 타입의 형변환은 가능 ( 경고 발생 ) - 지네릭 타입끼리 형변환 불가 - 이 2020. 11. 12.
12장 지네릭스,열거형,애노테이션 20201111 제한된 지네릭 클래스 - 타입 매개변수 T에 지정할 수 있는 타입의 종류를 제한할 수 있는 방법? -> 지네릭 타입에 'extends'를 사용하면, 특정 타입의 자손들만 대입할 수 있게 제한가능 ex) class FruitBox {} ( Fruit의 자손만 타입으로 지정가능 ) 한 종류의 타입만 담을 수 있지만, Fruit클래스의 자손들만 담을 수 있다는 제한이 추가됨 - 클래스가 아닌 인터페이스를 구현해야한다는 제약이 필요하다면, 이때도 'extends'사용 ( 'implements' X ) ex) interface Eatable {} class FruitBox {} - 클래스의 상속도 받고, 인터페이스도 구현해야한다면 '&'기호로 연결 ex) class FruitBox {} -> Fruit자손이면서 .. 2020. 11. 11.
12장 지네릭스,열거형,애노테이션 20201110 지네릭스 - 다양한 타입의 객체들을 다루는 메소드나, 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능 - 객체의 다입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어듦 - 다룰 객체의 타입을 미리 명시해줌으로써 번거로운 형변환을 줄여줆 지네릭스의 용어 ex) class Box {} - Box : 지네릭클래스 - T : 타입변수, 타입매개변수, 임의의 참조형 타입을 의미 - Box : 원시타입 Box b = new Box(); - : 매개변수화된 타입(대입된 타입) - Box : 지네릭 타입 호출 지네릭스의 제한 - static멤버에 대해 타입 변수 T는 사용불가 - 지네릭 타입의 배열 생성 불가 ( 지네릭 배열타입의 참조변수 선언은 가능 ) 지네릭클래스 객체생성과 .. 2020. 11. 10.