전체 글
-
컬렉션 자료구조(Collection Data Structure)JAVA 2023. 3. 2. 21:45
컬렉션 프레임워크 : 자바는 통용되는 자료구조를 기반으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있는 인터페이스 및 클래스를 지원하며, 이를 컬렉션 프레임워크(Collection Framework)라고 부른다. 컬렉션 관련 인터페이스와 클래스는 java.util 패키지에 포함되어 있다. 배열과의 비교 배열의 특징 같은 타입만 저장 가능 길이를 변경할 수 없다. - 배열의 길이를 변경하려면 배열 복사를 이용해야 한다. 컬렉션 자료구조는 길이가 고정되어 있지 않고, 다른 타입의 객체도 저장 가능하다.(그러나 보통 동일한 타입만 저장함) Set과 List는 Collection 인터페이스를 상속받으며, Collection 인터페이스를 이용하여 자료구조를 구현할 수 있다. - Set과 List의 구조 상 객..
-
Java 표준 라이브러리JAVA 2023. 3. 2. 21:40
API 도큐먼트(API Documentation) API(Application Programming Interface) 어플리케이션을 만들 때 사용할 수 있는 인터페이스 공개된 멤버(public 과 protected로 선언된 구성 요소)만 사용 가능 API 도큐먼트 : Java에서 기본으로 제공하는 라이브러리(API)에 대한 사용법을 정리한 문서 https://docs.oracle.com/en/java/javase/index.html - JDK 버전 별로 문서를 제공 API 문서 보는 순서 클래스가 소속된 모듈 및 패키지 클래스의 상속 관계 구현된 인터페이스 클래스 선언부 SUMMARY 클래스가 가진 구성 멤버 확인 용이 Method Summary 항목 All Methods : 클래스가 가지고 있는 모든..
-
예외 처리(Exception)JAVA 2023. 3. 2. 21:20
예외와 에러 예외 : 사용자의 잘못된 조작이나 혹은 개발자의 잘못된 코디으로 인해 발생한 프로그램 오류 에러 : 하드웨어의 고장으로 인해 프로그램이 실행되지 않는 문제 - 코딩으로 처리 불가 현실 세계에서 예외는 실체를 가지고 있지 않지만 자바에서는 실체를 가지고 있는 객체로 취급한다. 예외의 종류 일반 예외(checked exception) - 컴파일러가 예외 발생 가능성을 미리 검증 실행 예외(runtime exception) - 실행 시에 예외 발생 확인 가능 예외 처리 방법 예외 처리 - 예외 발생 시 예외 클래스로 객체를 생성하여 정상 실행을 유지할 수 있도록 처리하는 것 - 예외 처리를 하지 않은 상태에서 예외가 발생하면 예외 발생 시점에 프로그램이 중단된다. try ~ catch 블럭 a. ..
-
인터페이스(Interface)JAVA 2023. 3. 2. 21:00
인터페이스와 추상 클래스는 사용설명서로 비유할 수 있다. 인터페이스와 추상 클래스는 객체지향 프로그래밍의 특징 중 다형성과 깊게 관련되어 있다. - 한 객체를 구성하는 구성 요소가 공통의 인터페이스로 구현되어 있다면 쉽게 교체가 가능하다. 자동차 관점에서 자동차와 운전자 사이에서 정보를 주고 받을 수 있는 계기판을 인터페이스에 비유할 수 있다. 인터페이스로 연결된 두 객체는 서로 어떤 내용을 갖는지 몰라도 동작에 영향을 주지 않는다. class 대신 interface를 입력하면 인터페이스가 된다. 인터페이스도 컴파일되면 .class 파일로 생성된다. 인터페이스의 장점 객체의 교체가 쉽다. 사용 방법은 같아도 객체 별로 다양한 결과를 얻을 수 있다.(= 다형성) 인터페이스의 구성 요소(멤버) public ..
-
추상 클래스(abstract class)JAVA 2023. 3. 2. 20:50
추상 클래스 : 객체를 생성할 수 있는 클래스(실체 클래스)들의 공통적인 필드나 메소드를 추출해서 선언한 클래스 한 클래스 안에 추상 메소드가 하나 이상 존재하면 그 클래스도 추상 클래스로 만들어야 한다. - 추상 클래스에는 객체를 정의할 수 없다. - 추상 메소드와 인스턴스 메소드가 혼재될 수 있다. 추상 클래스를 상속받는 하위 클래스들은 반드시 추상 메소드를 강제로 오버라이딩해야 한다. - 동일한 상위 클래스를 상속받는 하위 클래스에 동일한 이름의 상위 클래스 메소드를 사용하도록 규격화할 때 추상 클래스를 사용 - 사물들의 공통적인 특징을 추상화(= 단순화)하면 쉽게 제어할 수 있다. ※ java는 다중 상속(서로 다른 클래스를 동일 단계의 상위 클래스로 하여 상속받는 것)을 허용하지 않음. ..
-
다형성(Polymorphism)JAVA 2023. 3. 2. 20:45
다형성 : 사용 방법은 동일하지만 실행 결과가 다양하게 나오는 성질 하위 클래스 타입의 객체(인스턴스)를 상위 클래스 타입의 변수로 참조 가능!!!!!!!!!!!!! 자바는 기본적으로 동일한 참조 타입의 객체를 생성해야 하지만 경우에 따라 다른 참조 타입으로 객체를 생성하기도 한다. 타입 변환 클래스는 참조 타입의 자료형으로 사용될 때 타입 변환이 가능하다. 클래스의 타입 변환은 상송 관계의 클래스 사이에서 발생한다. 업캐스팅(up casting) 하위 클래스 객체를 상위 클래스 참조 타입의 변수로 선언하는 것 컴파일러가 하위 클래스 객체를 상위 클래스 참조 타입의 변수로 인식 Cat cat = new Cat(); //Cat은 Animal의 자식 클래스 Animal animal = cat; //부모 클래..