본문 바로가기

JAVA18

JAVA - 컬렉션(Collection)과 제네릭(Generics) #.컬렉션(Collection) -배열이 가진 고정 크기의 단점을 극복하기 위해 객체들을 쉽게 삽입, 삭제, 검색할 수 있는 가변 크기의 컨테이너 -안드로이드를 비롯한 자바 프로그램을 작성하는데 빼놓을 수 없는 도구 -제네릭이라는 기법으로 구현 #.컬렉션을 위한 자바 인터페이스와 클래스 -java.util 패키지가 다양한 컬렉션 인터페이스와 클래스 제공 -컬렉션 클래스(Collection)는 개발자가 바로 사용할 수 있는 클래스 > Vector와 ArrayList - 가변 크기의 배열을 구현 > LinkedList - 노드들이 링크로 연결되는 리스트를 구현 >Stack - 스택을 구현 > HashSet - 집합을 구현 ->Collection를 상속 받고, 단일 클래스의 객체만을 요소로 다룸 >HashMa.. 2022. 12. 22.
JAVA - 인터페이스와 추상클래스 비교 #.유사한 점 -객체를 생성할 수 없다. -상속을 위한 슈퍼 클래스로만 사용 -다형성을 실현하기 위한 목적 #.차이점 비교 인터페이스 추상 클래스 목적 -객체의 기능을 모두 공개한 표준화 문서와 같은 것 -개발자에게 인터페이스를 상속받는 클래스의 목적에 따라 인터페이스의 모든 추상 메소드를 만들도록 하는 목적 서브클래스에서 필요로 하는 대부분의 기능을 구현해 두고, 서브 클래스가 상속 받을 수 있도록 하되, 서브 클래스가 구현해야한만 하는 기능만을 추상 메소드로 선언하여, 서브 클래스가 구현하도록 함 구성 -변수 필드(멤버 변수)는 포함하지 x -상수, 추상 메서드, 일반 메서드, default메서드, static 메서드 -protected 접근 지정 선언 불가 -다중 상속 지원 - 추상 메소드와 일만 .. 2022. 12. 20.
JAVA - 인터페이스 인터페이스란? -서로 다른 하드웨어 장치들이 상호 데이터를 주고 받을 수 있는 구격을 의미 #.인터페이스(interface) -interface 키워드 사용 #.인터페이스 구성 -상수와 추상메서드(java 7까지) -default 메서드(java 8부터) -private 메서드(java 9부터) - static 메서드(java 9부터) >추상메서드는 abstract로 정해져 있다 > default, private, static 메소드들은 모두 인터페이스 내에 코드가 있어야 한다. > default 메소드 접근 지정은 public으로 고정 > private 메소드는 인터페이스 내에서만 호출 가능 > static 메소드는 접근 지정이 생략되면 public, private로 지정 가능 #.인터페이스는 객체 생.. 2022. 12. 20.
JAVA - 추상클래스 - 상속에서 슈퍼클래스로 사용 #.추상메소드 -선언은 되어 있으나 코드가 구현되어 있지 않은 메소드 -abstract 키워드와 함께 원형만 선언하고 코드 작성x ex) public abstract String getName(); public abstract String fall() {return "Good Bye";} // 코드가 작성되어 있으므로 컴파일 오류 #.추상클래스 -abstract 키워드로 선언 -추상 메소드를 포함하는 클래스 *추상메소드가 있으면 무조건 추상클래스로 선언해야한다 -추상 메소드가 없지만 abstract로 선언한 클래스 -추상 클래스는 객체를 생성할 수 없다. >추상 클래스는 객체를 생성할 목적으로 만드는 클래스가 아니다 >추상 클래스는 실행 코드가 없는 미완성 상태인 추상 메소.. 2022. 12. 19.