다중 상속의 장점을 사용하기 위해.
기능확장이 편함.
약결합(loosely coupied)을 구현하여, 객체간의 유연성을 높이기 위해.
접근지정자 interface 인터페이스명 extends 부모인터페이스명,,,,{}
public interface 인터페이스명{
상수
abstract method();
//구현클래스가 반드시 override해야 할 일의 목록.
}
클래스가 implements키워드를 사용하여 인터페이스를 구현하여 사용.
public class 클래스명 implements 인터페이스명,,,{
abstract method의 override
}
: 이벤트를 처리하기 위한 목적으로 만들어진 클래스
class Test{
int i;
public void test(){
}
static class In{ //객체화를 하지 않고 클래스명, 변수명, 클래스명.method으로 사용한다.
static int j;
public static void temp(){
}
}//인스턴스 영역
}//인스턴스 영역
static class Inner {
// nested클래스에서 inner클래스는 주로 안에서만 쓰이기 때문에
//접근지정자를 안쓴다.(붙여도 되나 무쓸모)
// 일반클래스 아님. 생성자 만들지 않음.
// 변수나 method는 static으로 만들어 객체없이 사용하도록 한다.
static int inI;
public static void inMethod() {
System.out.println("안쪽 클래스의 method");
// 바깥클래스 객체 선언 안해도 쓸 수 있음.
// outI = 10; // instance영역의 변수와 method는 사용할 수 없다. 선언하면 쓸 수 있음.
outJ = 20;
NestedOutter.outStaMethod();// static 자원은 객체없이 쓸 수 있음.
}// inMethod
}// NestedInner
String, StringBuffer, StringBuilder, StringTokenizer
String[] arr = csvData.split("구분할 문자열( , )");
- 절대값 양수 = Math(음수)
- 반올림
정수형 변수명 = Math.round(실수);- 올림
실수 = Math.ceil(실수);- 내림
Math.floor(실수);- 절사 => method 없음.
(int)실수
Date, Calender
SimpleDateFormat, DecimalFormat
Random
double num = Math.random();//0.00000~16 ~ 0.9999~16의 수 중 하나가 나옴.
System.out.println("발생한 난수 : " + num);
System.out.println("범위의 난수 : " + num*10); // 0~9까지 10개의 난수
System.out.println("정수 범위의 난수 : " + (int)(num*10)); // 0~9까지 10개의 난수
Local