본문 바로가기

[Java] Thread(쓰레드) Thread란?? - 프로세스내에서의 제어 흐름(하나의 실행 단위) - CPU이용량 단위의 기본, 각 스레드마다 PCB를 가지고 있다. - 같은 프로세스에 속한 각 쓰레드들은 공유 가능 -> 프로세스를 여러개 띄운것과 차이 멀티쓰레드 동시에 여러가지 작업을 동시에 수행할 수 있게하는것 특 자원을 효율적으로응답성이 향상작업이 분화되어 코드가 간결 ※ 동기화에 주의※ 교착상태가 발생하지 않도록 주의※ 각 쓰레드가 효율적으로 고르게 실행되게 해야한다. 쓰레드 구현 및 실행 1.Thread클래스 상속 // 클래스의 run을 오버라이딩2. Runnable 인터페이스 구현 // 인터페이스의 run을 구현 1)호출static Thread currentThread() 현재 실행중인 쓰레드를 참조 반환String get.. 더보기
[Java]Generics 제네릭스 지네릭스(Generics)란? (영어 - generic) 포괄적인, 일반적인 - 컴파일시 타입을 체크해 주는 기능 ( compile - time type check) - JDK5 부터- 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줌 ( 하나의 컬렉션을 대부분 한 종류의 객체만 저장) 장점. 1. 타입의 안정성을 제공2. 타입의 체크와 형변환을 생략할 수 있으므로 코드가 간결!! ※(Box 의 객체 생성. 참조변수와 생성자에 대입된 타입이 일치해야 한다) 용어 Box ==>지네릭 클래스 T의 box ,또는 T BoxT ==>타입변수 또는 타입 매개변수(T는 타입 문자)Box ==>원시 타입( raw type) 제한 static 멤버에는 타입변수T를 사용할수 없다, static T item; // .. 더보기
[Java]Collections Framework 1) Collection Framework 란 다수의 데이터를 쉽게 처리할 수 있는 방법을 제공하는 클래스들로 구성(ex)Vector,ArrayList,HashSet java.utill 패키지에 포함 2) 종류 인터페이스 1.List 순서가 있는 데이터의 집합 , 데이터의 중복을 허용한다.ex) 대기자 명단 구현클래스 : ArrayList Vector 2.Set 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용X (집합이므로 데이터의 순서와는 상관없이 add수행 중복은 되지 않는다ex)양의 정수 ,소수의집합 구현 클래스 : HashSet, TreeSet 3.Map (key) 와 (value) 의 한쌍으로 이루어진 데이터의 집합 순서는 유지 되지 않으며, 키는 중복 허용 X 값은 중복 가능 하다 .. 더보기
[Java]클래스 메서드 & 인스턴스 메서드 인스턴스 메서드! =>인스턴스 메서드 변수와 작업을 하는 메서드의 작업을 하는 메서드 1.인스턴스 생성 이후 , '참조변수.메서드이름()' 으로 호출2.메서드 내에서 인스턴스 변수로 사용가능 클래스 메서드(static 메서드) !!! 인스턴스와 관계없는(인스턴스 변수나 인스턴스 메서드를 사용하지 않는 메서드 =>>객체 따로 생성 없이 '클래스이름.메서드이름()' 으로 호출 1.메서드 내에서 인스턴스변수 사용 불가 2.메서드 내에서 인스턴스변수를 사용하지 않는 다면 static 을 붙이는 것을 고려한다. 클래스의 멤버변수 중 모든 인스턴스에 공통된 값을 유지해야하는 것이 있는지 살펴 보고 static을 붙인다 -메서드 중 인스턴스 변수나 인스턴스 메서드를 사용하지 않는 메서드에 -> static 을 붙인다.. 더보기
Vector 배열 import java.util.Arrays; class MyVector{ Object [ ] objArr; int size; MyVector(int capacity) { // 생성자에 기본생성자 objArr =new Object[capacity]; } MyVector() { this(16);//(capacity=16) } boolean isEmpty() {return size==0;}// 객체가 비었는지 확인하는 int size() {return size;} //배열 사이즈 int capacity() {return objArr.length;}//총길 void add(Object obj) { // 객체를 추가하는 메서드 objArr[size++]=obj;// 사이즈를 더해주는 } public Object .. 더보기
[Java]객체지향 -다향성 및 instanceOf 연산자 다형성이란!! '여러가지 형태를 가질수 있는 능력' 따라서 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있다 // (조상클래스의 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있게 만들었다.) --> 조상타입의 참조변수로 자손타입의 인스턴스를 참조할 수 있다. 단 .자손타입의 참조변수로 조상 타입의 인스턴스를 참조할 수는 없다. 참조변수의 형변환!-->> 서로 상속관계에 있는 타입간의 형변환만 가능하다 자손타입--> 조상타입(up-cating)자손타입--> 조상타입(down-casting):형변환 생략 불가 instanceof 연산자※ instanceof 연산자는 특정 클래스의 인스턴스인지 확인하는 연산자이다. 다시 말하면참조변수가 참조하고 있는 인스턴스의 실제 타입을 Check 하는데 사용.. 더보기