Generic : 클래스 내부에서 사용하려는 데이터 타입을 미리 정의하는 것.
- 클래스 내부에서 사용하려는 데이터 타입을 다이아몬드 지시자로 받을 수 있다.
- 불필요한 형변환 코드를 줄일 수 있다.
- 부주의한 객체 사용과 형변환으로 인해 발생하는 오류를 줄일 수 있다.
다이아몬드 지시자 : <>
- 와일드 카드 : , <K,V>
- E : Element : 클래스 내부에서 사용되는 요소.
- K : Key
- V : Value
- T : Type : 외부에서 입력하는 클래스의 타입 -> 클래스 내부에서 사용되는 타입.
- N : Number
- ? : 모든 클래스 - Object
- 자료형 매개 변수 T
- 자료형 매개 변수 : 여러 참조 자료형으로 대체될 수 있는 부분을 하나의 문자로 표현한 것.
Input / Output + Stream : data가 물처럼 흘러 간다는 의미.
- Input / Output은 상대적인 개념.
- Stream : data의 흐름을 의미.
- Input Stream : 현재 코드로 data가 들어온다.
- Output Stream : 현재 코드에서 data가 나간다.
FileInputStream
- Node Stream
- 파일을 연결해서 읽어오는 Stream.
- 8bit 입력
- 비영어권 문자가 깨지는 단점.
InputStreamReader
- Filter Stream
- data 변환 기능
- 8bit 입력을 16bit 전환.
DataInputStream / DataOutputStream
- FilterStream
- data type의 형태로 data를 일거나 쓰는 기능을 제공.
ObjectInputStream / ObjectOutputStream
- Object도 Input / Output 가능.
- class type을 만들어진 객체를 Input / Output.
- FilterStream
- implements Serializable 중요
인터넷의 기본 개념 : Ip Address, Ip Port
- Ip Address : 네트워크 상에서 컴퓨터가 갖는 주소.
- Ip Port : 컴퓨터 내의 하나의 프로그램이 갖는 외부 통신 번호.
-> 수신인 : 받는 사람의 개념.
Server : 서비스를 제공하는 객체.
Client : 서비스를 요청하는 객체.