JAVA29 컬렉션 프레임워크 Vector Vector는 ArrayList와 동일한 내부 구조를 가지고 있습니다. Vector를 생성하기 위해서는 저장할 객체 타입을 타입 파라미터로 표기하고 기본 생성자를 호출해줍니다. List list = new Vector(); ArrayList와 다른 점은 Vector는 동기화된 메서드로 구성되어 있기 때문에 멀티 스레드가 동시에 이 메서드들을 실행할 수 없고 하나의 스레드가 실행을 완료해야만 다른 스레드를 실행할 수 있다. Vector를 이용해서 Board 객체를 추가, 삭제 검색하는 예제 public class Board { // 게시물 정보 객체생성 String subject; String content; String writer; public Board (String subject, String co.. 2022. 5. 30. 컬렉션 프레임워크 ArrayList 컬렉션 - 사전적 의미로 요소(객체)를 수집해 저장하는 것 배열의 문제점 - 저장할 수 있는 객체 수가 배열을 생성할 때 결정 -> 불특정 다수의 객체를 저장하기에는 문제 - 객체 삭제했을 때 해당 인덱스가 비게 됨 -> 낱알 빠진 옥수수 같은 배열 -> 객체를 저장하려면 어디가 비어있는지 확인해야 함 ex) 0 1 3 5 7 8 컬렉션 프레임워크 인터페이스 List 컬랙션 기능 메소드 설명 객체 추가 boolean add(E e) 주어진 객체를 맨끝에 추가 void add(int index, E element) 주어진 인덱스에 객체를 추가 set(int index, E element) 주어진 인덱스에 저장된 객체로 바꿈 객체 검색 boolean contains(Object o) 주어진 객체가 저장되어 .. 2022. 5. 30. 예외 처리 -에러(Error) : 하드웨어의 잘못된 동작 또는 고장으로 인한 오류 : 에러가 발생되면 프로그램 종료 : 정상 실행 상태로 돌아갈 수 없음 -예외(Exception) : 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인한 오류 : 예외가 발생되면 프로그램 종료 : 예외 처리 추가하면 정상 실행 상태로 돌아갈 수 있음 예외의 종류 : 일반(컴파일 체크) 예외(Exception) -예외 처리 코드 없으면 컴파일 요류 발생 실행 예외(RuntimeException) : 예외 처리 코드를 생략하더라도 컴파일이 되는 예외 : 경험 따라 예외 처리 코드 작성 필요함 public class JavaEx9 { public static void main(String[] args) { int num1 = 26; .. 2022. 5. 26. 인터페이스 (default method) 인터페이스에서 디폴트 메서드를 허용한 이유는 기존 인터페이스를 확장해서 새로운 기능을 추가하기 위해서이다. 기존 인터페이스의 이름과 추상 메서드의 변경 없이 디폰트 메서드만 추가할 수 있기 때문에 이전에 개발한 구현 클래스를 그대로 사용할 수 있으면서 새롭게 개발하는 클래스는 디폴트 메서드를 활용할 수 있다. 보통 기존에 있던 인터페이스에 이를 구현할 클래스가 있는데 인터페이스에 기능을 추가해야 하여 인터페이스에 추상 메서드를 추가했는데 클래스에서 문제가 발생한다. 그 이유는 추상 메서드에 대한 실체 메서드가 존재하지 않기 때문인데 여기서 클래스를 수정할 여건이 안된다면 인터페이스에 메서드를 추가할 수 없게 된다. 그래서 인터페이스에 디폴트 메서드를 선언해준다. 디폴트 메서드는 추상 메서드가 아니기 때문.. 2022. 5. 25. 이전 1 2 3 4 5 6 7 8 다음