목록전체 글 (75)
Super Coding Addict
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cPZbOl/btqX81OUwEt/uBYKfFpukabKxIfaRJFkA0/img.png)
* List 인터페이스 - Collection 하위 인터페이스 - 객체를 순서에 따라 저장하고 관리하는 데 필요한 메서드가 선언된 인터페이스 - ex) ArrayList, Vector ... * ArrayLIst와 Vector - 둘다 객체 배열 클래스 - Vector는 자바2부터 제공된 클래스로 일반적으로는 ArrayLIst를 더 많이 사용한다 - Vector는 멀티 쓰레드 프로그램에서 동기화(synchronization)을 지원한다 - capacity : 배열의 전체 크기 - size : 배열 안에 들어있는 자료의 개수(?) * ArrayList와 LinkedList - 둘다 자료의 순차적 구조를 구현한 클래스 - ArrayList는 배열을 구현한 클래스, 논리적 순서 = ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/wcvFH/btqX6fZHsTh/vGhIcXrew6aKhlDk2SiTO1/img.png)
* 컬렉션 프레임 워크 - 프로그램 구현에 필요한 자료구조와 알고리즘을 구현해놓은 라이브러리 - java.util 패키지에 구현되어 있음 - 이를 사용하여 개발에 소요되는 시간을 절약하고 최적화된 라이브러리 사용 가능 - Collection인터페이스와 Map인터페이스로 구성됨 * Collection 인터페이스 - 하나의 객체에 대한 자료구조 cf. map : key-value pair(쌍)로 이루어져 있는 객체를 관리 - 하위에 List, Set 인터페이스가있다 * Map 인터페이스 - 쌍(pair)으로 이루어진 객체를 관리하는 데 필요한 여러 메서드가 선언되어 있음 - key-value 쌍으로 이루어져 있으며, key는 중복될 수 없음 * 배열(Array) vs. Linke..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/wjrjV/btqX327lA6f/UUpU8huejMNOdQVTg2jCkK/img.png)
--> Decorator와 실제 Component가 모두 하나의 클래스에서 상속을 받아서 같은 Operation이 제공된다는 것이 중요 --> 우유, 모카시럽, 휘핑크림은 커피가 아닌 데코레이터! # Coffee 추상 클래스 (Component) package Ch14.stream.coffee; public abstract class Coffee { public abstract void brewing(); } --> 여기서 Operation()은 brewing()메서드 # KenyaAmericano 클래스 (Concrete Component) package Ch14.stream.coffee; public class KenyaAmericano extends Coffee{ @Override public vo..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/0s1kn/btqX0pWmNij/GKtF5ytDcudci4ke1TBG70/img.png)
* 그 외 입출력 클래스 - File 클래스 : 파일 개념을 추상화한 클래스 : 입출력 기능은 없고, 파일의 속성, 경로, 이름 등을 알 수 있음 - RandomAccessFile 클래스 : 입출력 클래스 중 유일하게 파일 입출력을 동시에 할 수 있는 클래스 : 파일포인터의 위치에 따라 읽고 쓰는 위치의 이동 가능 (seek 메서드) - 예제 # RandomAccessFileTest 클래스 package Ch14.stream.others; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; public class RandomAccess..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/BDpXZ/btqX31NMTG1/ev1Sr6yXbauxO7793ikJhk/img.png)
* 직렬화 (Serialization) - 인스턴스의 상태를 그대로 저장하거나 네트웍으로 전송하고 이를 다시 복원(Deserialiation)하는 방식 - ObjectInputStream과 ObjectOutputSream사용 (보조스트림) --> 앞에서 DataInputStream과 DataOutputStream에는 Object를 읽고 쓰는 기능이 없었으나, 이 Object~Stream에서 제공된다 * Serializable 인터페이스 - 직렬화는 인스턴스의 내용이 외부(파일이나 네트웍)로 유출되는 것이므로 프로그래머가 객체의 직렬화 가능 여부 명시 - 구현 코드가 없는 mark interface --> Serializable이라는 인터페이스를 선언해줌으로써 이 객체가 직렬화 가능하다고 명..
SELECT ROUND(1234.5678) AS ROUND, ROUND(1234.5678, 0) AS ROUND_0, ROUND(1234.5678, 1) AS ROUND_1, ROUND(1234.5678, 2) AS ROUND_2, ROUND(1234.5678, -1) AS ROUND_MINUS1, ROUND(1234.5678, -2) AS ROUND_MINUS2 FROM DUAL; SELECT TRUNC(1234.5678) AS TRUNC, TRUNC(1234.5678, 0) AS TRUNC_0, TRUNC(1234.5678, 1) AS TRUNC_1, TRUNC(1234.5678, 2) AS TRUNC_2, TRUNC(1234.5678, -1) AS TRUNC_MINUS1, TRUNC(1234.567..