JAVA

JAVA

[JAVA] Collection(Queue)

콜렉션(Collection) 여러 원소를 담을 수 있는 자료구조 List, Set, Queue로 크게 3가지 인터페이스로 분류. Map은 collection 인터페이스를 상속받고 있지 않지만 collection으로 분류 한다. [배열과의 차이점] 배열은 정적으로 메모리 할당. 콜랙션은 동적으로 메모리 할당. 콜렉션의 종류 Queue 먼저 들어온 것이 먼저 나감(FIFO) PriorityQueue 들어온 순서가 아닌, 우선순위 별로 큐에서 원소를 꺼낸다. ArrayDeque 큐를 양쪽에서 꺼낼 수 있다.

JAVA

[JAVA] Collection(Set)

콜렉션(Collection) 여러 원소를 담을 수 있는 자료구조 List, Set, Queue로 크게 3가지 인터페이스로 분류. Map은 collection 인터페이스를 상속받고 있지 않지만 collection으로 분류 한다. [배열과의 차이점] 배열은 정적으로 메모리 할당. 콜랙션은 동적으로 메모리 할당. 콜렉션의 종류 Set 순서가 없다. 중복을 허용하지 않는다 package D04; import java.util.*; public class SetEx { public static void main(String[] args) { Set set = new HashSet(); set.add(new Member("홍길동", 30)); set.add(new Member("김덕배", 15)); set.add(..

JAVA

[JAVA] Collection(List)

콜렉션(Collection) 여러 원소를 담을 수 있는 자료구조 List, Set, Queue로 크게 3가지 인터페이스로 분류. Map은 collection 인터페이스를 상속받고 있지 않지만 collection으로 분류 한다. [배열과의 차이점] 배열은 정적으로 메모리 할당. 콜랙션은 동적으로 메모리 할당. 콜렉션의 종류 List 순서가 있는 자료구조 ArrayList 배열을 기반으로 구현한다. 논리적, 물리적 저장 순서가 일치 한다. 삭제, 삽입 시 자료의 이동이 필요하므로 시간이 더 걸린다. thread safe 하지 않는다.(동기화X) ⇒ 동시에 여러 스레가 접근 가능하다. package D04; import java.util.ArrayList; import java.util.List; import..

JAVA

[JAVA] 박싱(Boxing) & 언박싱(UnBoxing)

박싱(Boxing) & 언박싱(UnBoxing) 래퍼 클래스는 값을 포장하여 객체로 만드는것 이지만 값을 더하거나 변환시켜야 할 필요가 생길경우 포장을 다시 뜯을 필요가 필요하다. 이러한 행위를 박싱(Boxing)과 언박싱(UnBoxing) 이라고 한다. Boxing : 기본타입의 데이터 → 래퍼 클래스의 인스턴스로 변환 UnBoxing : 래퍼 클래스의 인스턴스에 저장된 값 → 기본타입의 데이터로 변환 주의할점은 래퍼 클래스는 산술 연산을 위해 정의된 클래스가 아니다. 생성된 인스턴스의 값만 참조할수 있기 때문에 따라서 래퍼 클래스 인스턴스에 저장된 값을 직접 변경이 불가능하다. 그래서 래퍼 클래스를 언박싱 한 뒤에 값을 변경한 뒤 박싱해야 하는 중간 단계를 거칠 필요가 있다. 자동 박싱(AutoBox..

JAVA

[JAVA] Wrapper class

Wrapper Class Wrapper 기본 타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스들을 **래퍼 클래스(wrapper class)**라고 한다. 자바는 모든 기본타입(primitive type)은 값을 갖는 객체를 생성할 수 있다. 이런 객체를 포장 객체라고도 하는데, 기본 타입의 값을 내부에 두고 포장하는 것처럼 보이기 때문이다. 포장된 물건을 바꿀수 없듯이, 래퍼 클래스로 감싸고 있는 기본 타입 값은 외부에서 변경할 수 없다. 만약 값을 변경하고 싶다면 새로운 포장 객체를 만들어야 한다. 래퍼 클래스는 모두 java.lang 패키지에 포함되어 제공된다. 그래서 별다른 패키지 불러오기 없이 곧바로 소스 단에서 사용이 가능하다. 래퍼 클래스를 이용하면 각 타입에 해당하는..

JAVA

[JAVA] 중첩 클래스, 익명객체

중첩 클래스 내부 클래스 라고도 한다. 객체 지향 프로그래밍에서 특정 클래스와 연관성이 큰 경우에는 클래스 내부에 선언하기도 한다. 코드의 복잡성을 줄인다. 클래스 내부에 선언한 클래스. 두 클래스의 멤버들을 서로 쉽게 접근하게 하고 외부에는 불필요한 관계 클래스 감추어 코드의 복잡성 줄인다. 인스턴스 멤버 클래스 static 키워드 없이 중첩 선언된 클래스 인스턴스 필드와 메소드만 선언가능 정작 필드와 메소드는 선언 불가능 정적 멤버 클래스 static 키워드로 선언된 클래스 모든 종류의 필드와 메소드 선언가능 로컬 클래스 중첩 클래스를 메소드 내에서 선언할 수 있음 접근 제한자 및 static 붙일 수 없음 인스턴스 필드와 메소드만 선언할 수 있고 정적 필드와 메소드는 선언불가 인스턴스, 정적, 로컬..

Potato Ongsim
'JAVA' 카테고리의 글 목록 (2 Page)