컬렉션 프레임워크 : 데이터를 효율적으로 관리(CRUD)하는 인터페이스와 클래스 -컬렉션 자료구조 종류 Set List Queue Map (Set, List, Queue은 collection인터페이스를 상속받는 인터페이스이고 Map은 아님!) (List, Map을 많이 씀) List : 데이터 순서O 중복O -List 인터페이스를 구현한 클래스 ArrayList LinkedList List 생성 안에는 기본 자료형을 제외한 하나의 자료형이 들어감 List 인터페이스형을 써서 ArrayList 클래스 객체 만들기 (추천!) List 데이터 추가 리스트명.add() List 데이터 읽기 리스트명.get(인덱스) List 길이 리스트명.size() List 데이터 삭제 리스트명.remove(인덱스) Set :..
인터페이스 : 코드의 유지보수를 쉽게 하기 위해서 클래스들이 사용할 메소드를 지정함 인터페이스에는 추상메소드만 올 수 있음 추상 메소드란? : 구현부 없이 정의만 되어있는 메소드 public void 메소드명(); 인터페이스는 단독 사용 불가하며 인터페이스의 추상메소드를 구현하는 클래스를 만들어 주어야함 class 클래스명 implements 인터페이스명 ex) 구현 방법 2가지 클래스명 변수명 = new 클래스명(); : 클래스에 있는 모든 기능 사용 가능 인터페이스명 변수명 = new 클래스명(); : 인터페이스의 정의된 메소드만 사용 가능
예외 처리 try-catch-finally catch는 여러개 넣을 수 있음 finally는 선택사항 ex) 예외 클래스 Exception : 모든 예외 NullPointerException : 객체가 없는데 객체를 사용할 경우 ArrayIndexOutOfBoundsException : 배열의 인덱스 범위를 초과할 경우 NumberFormatException : 문자열을 숫자로 변경할 경우 ClassCastException : 억지로 타입 변환을 시도할 경우 ArithmeticException : 연산의 논리적 오류가 있을 겨우 InputMismatchException : 타입이 다를 경우 예외 내용 출력 e.getMessage() e.toString() : 어떤 예외가 발생했는지 출력 e.printSt..
오버로딩(Overloading) 같은 이름의 메서드를 여러 개 정의하되 매개변수의 개수나 타입을 다르게 함 오버라이딩(Overriding) 상속 관계에서 부모 클래스의 메서드의 내용을 자식 클래스에서 재정의 부모 메소드의 선언부(리턴 타입, 메서드명, 매개변수)가 동일해야함 접근 제한자를 더 강하게 변경하는 것은 불가능 ex) public -> private 불가! @override //생략가능 colorPrinter의 print()는 부모 print가 아닌 overriding으로 재정의된 실행문이 나옵니다.