일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 객체지향
- join
- spring 게시판 삭제
- 상속
- 친절한 SQL 튜닝
- 논리 연산자
- 예약어
- 인텔리제이 Web 애플리케이션
- 배열
- 객체
- 식별자
- 반복문
- java
- 산술 연산자
- SpringSecurity 로그인
- @PreAuthorize("isAuthenticated()")
- SpringSecurity 로그아웃
- 함수
- 비교 연산자
- 오버로딩
- SQL튜닝
- SQL
- 연산자
- 친절한 SQL
- 스프링시큐리티 로그아웃
- 이클립스 설치
- 자바의정석
- StringBuffer
- 오버라이딩
- SQL 튜닝
Archives
- Today
- Total
gi_dor
컬렉션프레임웍의 인터페이스들은 왜 따로 구현 안할까 ? 본문
컬렉션 프레임웍의 핵심 인터페이스가 List Set Map Collection 이렇게 있는데
왜 자바 7장에서 나온 인터페이스와 구현 처럼 안하고 책에서는 바로 new 연산자로 객체를 생성할수 있는걸까 ?
interface Fruit {}
class Apple implements Fruit { }
public class ArrayListExample {
public static void main(String[] args) {
ArrayList list1 = new ArrayList(10);
//list1.add(new Integer(5));
list1.add(5);
list1.add(new Integer(4));
list1.add(new Integer(2));
list1.add(new Integer(0));
list1.add(new Integer(1));
list1.add(new Integer(3));
System.out.println("list1 = "+ list1);
}
}
7장 - 인터페이스는 추상메서드 덕분에 new 연산자로 객체를 직접 생성할수가 없다
인터페이스를 구현한 '클래스'로 객체를 생성할수 있으며
클래스에는 인터페이스에 선언된 메서드들을 모두 구현해야 new 연산자로 객체를 생성할수 있다.
interface List {}
class ArrayList implements List { }
public class Example {
public static void main (String[] args){
ArrayList<String> list = new ArrayList<>();
list.add("Hello");
list.add("World!");
}
}
그냥 갑자기 궁금했다.. 이렇게 안되나 ??
JDK 라이브러리 안에 이미 있었네.. 내가 책 제대로 안본거였네 그래서 안된거네..
이미 인터페이스가있고 구현 되어있는데 거기에 인터페이스 선언하고 구현 하니 당연히 안되는 거잖아...
허무하구나
728x90
'First > why ?' 카테고리의 다른 글
Math.random( ) ,Math.round( ) (0) | 2023.03.06 |
---|