목록Java (14)
나의 개발일기
스레드 프로세스와 스레드(process & thread) 프로세스 : 실행 중인 프로그램, 자연 (resource)과 스레드로 구성 스레드 : 프로세스 내에서 실제 작업을 수행 모든 프로세스는 최소한 하나의 스레드를 가지고 있다. 프로세서 : 스레드 = 공장 : 일꾼 싱글 스레드 프로세스 = 자원 + 스레드 멀티 스레드 프로세스 = 자원 + 스레드 + 스레드 + 스레드 …+스레드 하나의 새로운 프로세스를 생성하는 것보다 하나의 새로운 스레드를 생성하는 것이 더 적은 비용이 든다. 멀티스레드의 장단점 장점 - 여러 모로 좋다. 자원을 보다 효율적으로 사용할 수 있다. 사용자에 대한 응답성(responseness)이 향상된다. 작업이 분리되어 코드가 간결해진다. 단점 - 프로그래밍할 때 고려해야 할 사항들이..
열거형(enum) 관련된 상수들을 같이 묶어 놓은 것. Java는 타입에 안전한 열거형을 제공 열거형을 정의하는 방법 enum 열거형 이름 {상수명 1, 상수명, …} enum Direction { EAST, SOUTH, WEST, NORTH} 열거형 타입의 변수를 선언하고 사용하는 방법 class Unit { int x, y; // 유닛의 위치 Direction dir; // 열거형 인스턴스 변수를 선언 void init() { dir = Direction.EAST; // 유닛의 방향을 EAST로 초기화 } } 열거형 상수의 비교에 == 와 compareTo 사용 가능 if (dir == Direction.EAST) { x++; } else if ( dir > Direction.WEST ) { // 에..
제네릭(Generics)란? 컴파일 시 타입을 체크(강화) 해 주는 기능 (complie-time type check) - jdk1.5 실행 중 발생(Runtime)하는 에러를 complie time 에러로 올린 것 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줌 장점 타입 안정성을 제공 - ClassCastException 형변환 에러 줄임 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해진다. 타입 변수 제네릭클래스를 작성할 때, Object타입(일반클래스) 대신 타입 변수(E)를 선언해서 사용. 객체를 생성 시, 타입변수(E) 대신 실제 타입 (Tv)을 지정(대입) 참조변수와 생성자에 넣어주어야 함 타입 일치 // 타입 변수 E 대신에 실제 타입 Tv를 대입 ArrayList tvList..
컬렉션(collection) 여러 객체(데이터)를 모아 놓는 것을 의미 프레임워크(framework) 표준화, 정형화된 체계적인 프로그래밍 방식 컬렉션 프레임워크(collection framework) 켈렉션(다수의 객체:data)을 다루기 위한 표준화된 프로그래밍 방식 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공 java.util패키지에 포함 컬렉션 클래스(collection class) 다수의 데이터를 저장할 수 있는 클래스 (예 Vector, ArrayList, Hashset) 컬렉션 프레임워크의 핵심 인터페이스 List : 저장, 순서 O, 중복 O 순서가 있는 데이터의 집합. 데이터의 중복을 허용한다. 구현클래스 : ArrayLise, LinkedList, Stack, Vector..
프로그램 오류 컴파일에러(compile-time error) : 컴파일할 때 발생하는 에러 구문체크 번역 최적화 생략된 코드추가 런타임 에러(runtime error) : 실행할 때 발생하는 에러 (프로그램 종료) 논리적 에러(logical error) : 작성 의도와 다르게 동작 (프로그램 종료 X) java의 런타임 에러 에러 (error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 (ex 메모리부족) 예외 (exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 예외처리의 정의와 목적 예외처리(exception handling) 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 목적 : 프로그램의 비정상 종료를 막고, 정상적인 ..
상속 (inheritance) 개념 용어 부모 클래스 - super class 자식 클래스 - sub class 부모가 가진 필드와 메서드를 자식에게 물려주는 것 자식에게 물려주기 위한 필드는 protected로 정의 만약 같은 패기지에 부모와 자식이 있는 경우 default 도 가능 장점 코드으 중복을 줄이고 객체 간의 관계를 지향하기 위함 코드의 수정 최소화 부모 클래스의 수정으로 자식 클래스 수정 효과 누릴 수 있음 유지보수 시간 최소화 특징 자바에서는 다중 상속 불가 class 자식 클래스 extends 부모 클래스, 1 부모 클래스 2 X 클래스 계층도 트리 구조가 깨지기 때문 상속 횟수에 제한이 없음 계층 구조 최상위에 java.lang.object 클래스 존재 클래스 생성하면 Object 클..