일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- vmax
- 부스트코스
- 상속
- EDWITH
- 다시보자
- 자바
- 다시볼 것
- HTML Templating
- spring
- JavaScript
- 복합 선택자
- vmin
- 가상요소 선택자
- ES6
- 속성 선택자
- 소스트리
- 즐거운자바
- 김성박
- datalist
- 부정 선택자
- 즐거운 자바
- 웹개발
- jsp
- optgroup
- nth-child()
- nth-of-type()
- 깃헙
- 서블릿
- 가상클래스 선택자
- 보충필요
Archives
- Today
- Total
기억의 DataBase
인터페이스 본문
-
인터페이스
인터페이스를 이해하려면 SDLC(소프트웨어 개발 생명 주기)를 이해
소프트웨어를 만들 때 가장 중요한 것은?
필요한 메소드를 구현하는 것
왜 인터페이스를 선언하는가?
> 메소드 구현보다 선언(계획)이 먼저이므로
1.인터페이스의 메소드 - 메소드를 선언
public interface Dice {
//정수를 반환하는 메소드를 선언
public int get();
}
2.클래스의 메소드 - 메소드를 구현
public class Dice6 implements Dice {
@Override // Dice 인터페이스의 get() 메소드를 구현
public int get() {
int value = (int)(Math.random()*6)+1;
return value;
}
}
3.인터페이스를 참조타입으로 하여 객체 생성
public class DiceTest {
public static void main(String[] args) {
Dice dice = new Dice6();
int value= dice.get();
System.out.println(value);
}
}
※ 되도록 인터페이스를 참조타입으로하여 사용하는 것이, 설계상 바람직(체계적)
interface 회원서비스{
회원가입();
회원수정();
회원탈퇴();
}
-
리플렉션- 객체를 통해 클래스의 정보를 분석해 내는 프로그램 기법
public class DiceTest {
public static void main(String[] args) throws Exception{
// 리플렉션 > Class의 정보를 구하는 방법
String className = "Day0118.Dice6";
//클래스에 대한 정보를 가져옴
Class clazz = Class.forName(className);
Method[] methods = clazz.getMethods();
for(int i = 0; i<methods.length; i++) {
System.out.println(methods[i].getName());
}
// new랑 같음 (new Dice6)
Dice dice1 = (Dice6)clazz.newInstance();
Dice dice2 = (Dice)clazz.newInstance();
// 인터페이스로 형변환하면 Dice6(clazz 정보가 있음)으로 인스턴스 가능
System.out.println(dice1.get());
System.out.println(dice2.get());
}
}
'Java' 카테고리의 다른 글
I/O(Input / Output) (0) | 2019.01.31 |
---|---|
기본형, 참조형, 배열, Object, String (0) | 2019.01.18 |
상속, 추상클래스 (0) | 2019.01.18 |
접근지정자 (0) | 2019.01.17 |
생성자 (0) | 2019.01.17 |