일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 생성자참조
- 상속
- 자바
- 타깃타입
- 매개변수참조
- 문자열을 배열
- ZipInputStream
- map에서key와value
- 상수필드
- 익명구현객체
- 디폴트메소드
- 배열을 문자열
- 요소
- createTempFile
- 추상메소드
- 인스턴스메소드
- jQuery
- 선택한요소
- 자동타입변환
- 객체타입확인
- 공백 처리
- 인터페이스의역할
- 람다식
- find
- 정적메소드
- 필드의다형성
- 오버라이딩
- 구현클래스
- 인터페이스
- java
- Today
- Total
목록IT (23)
코드지우개

개발 코드가 인터페이스 메소드를 호출하면 인터페이스는 객체의 메소드를 호출한다. 객체는 인터페이스에서 정의된 추상 메소드와 동일한 메소드 이름, 매개 타입, 리턴 타입을 가진 실체 메소드를 가지고 있어야 한다. 이러한 객체를 인터페이스의 구현( implement ) 객체라고 하고, 구현 객체를 생성하는 클래스를 구현 클래스라고 한다. 구현 클래스 public class 구현클래스명 implements 인터페이스명 { 인터페이스에 선언된 추상 메서드의 실체 메소드 선언 } 구현 클래스는 보통의 클래스와 동일한데, 인터페이스 타입으로 사용할 수 있음을 알려주기 위해 클래스 선언부에 implements 키워드를 추가하고 인터페이스명을 명시해야 한다. 그리고 인터페이스에 선언된 추상 메소드의 실체 메소드를 선언..

인터페이스의 역할 자바에서 인터페이스는 객체의 사용 방법을 정의한 타입이다. 인터페이스는 개발 코드와 객체가 서로 통신하는 접점 역할을 한다. 개발 코드 가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출 시킨다. 그렇기 때문에 개발코드는 객체의 내부 구조를 알 필요가 없고 인터페이스의 메소드만 알고 있으면 된다. 개발 코드가 직접 객체의 메소드를 호출하면 간단한데, 왜 중간에 인터페이스를 두는지 의문점이 생길 텐데 그 이유는 개발 코드를 수정하지 않고, 사용하는 객체를 변경할 수 있도록 하기 위해서이다. 인터페이스는 하나의 객체가 아니라 여러 객체들과 사용이 가능하므로 어떤 객체를 사용하느냐에 따라서 실행 내용과 리턴 값이 다를 수 있다. 따라서 개발 코드 측면에서는 코드 변경 없이 실..

추상 클래스의 개념 사전적 의미로 추상(abstract)은 실체 간에 공통되는 특성을 추출한 것을 말한다. 예를 들어 새, 곤충, 물고기 등의 실체에서 공통되는 특성을 추출해 보면 동물이라는 공통점이 있다. 또 다른 예로 삼성, 현대, LG 등의 실체에서 공통되는 특성을 추출해 보면 회사라는 공통점이 있다. 이와 같이 동물이나 회사는 구체적인 실체라ㅋ기보다는 실체들의 공통되는 특성을 가지고 있는 추상적인 것이라고 볼 수 있다. 클래스에서도 추상 클래스가 존재하는 데 객체를 직접 생성할 수 있는 클래스를 실체 클래스라고 하고 추상 클래스는 공통적인 특성을 추출해서 선언한 클래스를 추상 클래스라고 한다. 추상 클래스와 실체 클래스는 상속의 관계를 가지고 있다. 추상 클래스가 부모이고 실체 클래스가 자식으로 ..

다형성 다형성이란? 같은 이름의 메소드가 클래스 혹은 객체에 따라 다르게 동작하도록 구현되는 것 실제 동작은 다르더라도 개념적으로 동일한 작업을 하는 메소드에 똑같은 이름을 부여하여 코드의 중복을 줄일 수 있다. 오버라이딩( Overriding )과 오버로딩( Overloading )이 대표적인 예 효과 : 객체를 부품화시킬 수 있다. (예 : 자동차 타이어) 오버라이딩( Overriding ) 오버라이딩( Overriding )이란? 자바에서는 메소드 오버라이딩을 통해 상속받은 부모 클래스의 메소드를 자식 클래스에서 직접 재정의할 수 있다. 오버라이딩의 조건 1. 부모의 메소드와 동일한 시그니처(리턴 타입, 메소드 이름, 매개 변수 리스트)를 가져야 한다. 오버라이딩은 메소드의 동작만을 재정의하는 것이..

keySet() Map map = new HashMap(); map.put("java", "javaVal"); map.put("html", "htmlVal"); map.put("css", "cssVal"); map.put("javaScript", "javaScriptVal"); //map에 key값을 꺼내서 Set타입으로 리턴 Set set = map.keySet(); //Set은 저장순서가 유지도지 않기때문에 인덱스로 객체를 검색하는 메소드가 없다 대신, //전체 객체를 대상으로 한번씩 반복해서 가져오는 반복자(iterator)를 제공한다 Iterator keySet = set.iterator(); //Iterator keySet = map.keySet().iterator(); 또는 keySet().i..