[상속]
다른 클래스가 가지고 있는 멤버(필드, 메소드)들을 새로 작성할 클래스에서 직접 만들지 않고 상속 받음으로써 새 클래스가 자신의 멤버처럼 사용할 수 있는 기능
<오버라이딩>
자식 클래스가 상속받은 부모 메소드를 재작성하는 것
접근제어자를 부모 것보다 같거나 넓은 범위로 변경 가능
부모 메소드의 예외처리 클래스 처리범위보다 좁은 범위로 예외처리 클래스 수정 가능
Annotation —> @Override
<오버로딩>
한 클래스 내에서 같은 이름의 메소드를 여러 개 정의하는 것
[다형성]
부모타입의 참조형 변수가 모든 자식 타입 객체의 주소를 참조할 수 있음
부모 참조형 변수를 가지고 자식의 멤버를 참조해야 할 경우, 부모 클래스 타입의 참조형 변수를 자식 클래스 타입으로 형변환 하는 것
<추상 abstract>
추상 클래스
몸체 없는 메소드(추상 메소드)를 포함한 클래스 (미완성 설계도)
미완성 클래스 abstract -> 자체적으로 객체 생성 불가 : 반드시 상속하여 객체 생성
abstract 메소드가 포함된 클래스는 반드시 abstract 클래스
abstract 메소드가 없어도 abstract 클래스 선언 가능
클래스 내에 일반 변수, 메소드 포함 가능
객체 생성은 안되지만 참조형 변수 타입으로는 사용 가능
<인터페이스>
[예외 처리]
Unchecked Exception (선택적 예외처리)
-Exception
ArithmeticException
: 0으로 나누는 경우 발생
if문으로 나누는 수가 0인지 검사
NullPointerException
: Null인 참조 변수로 객체 멤버 참조 시도 시 발생
객체 사용 전에 참조 변수가 null인지 확인
NegativeArraySizeException
: 배열 크기를 음수로 지정한 경우 발생
배열 크기를 0보다 크게 지정해야 함
ArrayIndexOutOfBoundsException
: 배열의 index 범위를 넘어서 참조하는 경우
배열명.length를 사용하여 배열의 범위 확인
ClassCastException
: Cast 연산자 사용 시 타입 오류
instanceof 연산자로 객체타입 확인 후 cast연산
InputMismatchException
: Scanner를 사용하여 데이터 입력 시 입력받는 자료형이 불일치할 경우 발생
Chcked Exception (예외처리 필수)
Exception
-IOException
[컬렉션]
ArrayList
List studentList = new ArrayList();
HashSet
Set이 중복을 확인하는 방법
—> equals() , hashcode()가 반드시 오버라이딩 되어 있어야 함
Set set = new HashSet();
HashMap
Map<Integer, String> map = new HashMap<Integer, String>();
List< Map<String, Object> >list = new ArrayList< Map<String,Object> >();
네트워크
소켓 : 프로세스 간의 통신에 사용되는 양쪽 끝 단
프로토콜 : 컴퓨터 간의 정보를 주고 받을 때의 통신방법에 대한 규약으로, 접속이나 전달 방식, 데이터의 형식, 검증방법 등을 맞추기 위한 약속
TCP : 데이터의 전달의 신뢰성을 최대한 보장
UDP: 데이터의 빠른 전달