자바는 네트워크를 생각하고 만들어진 언어 95년에 만들어짐
98년 인터넷이 폭발적으로 성장.
--- 이 정도면 당구 150정도.
네트워크 I/O (input output)
=> chatting 프로그램 4단계로 할 것.
Oracle module package
유니크 해야 해서
데이터가 들어왔다 나갔다
주체는 자바 프로그램. 데이터가 들어오면 input
데이터가 나가면 output
일방통행. 양방향 아니다.
만약 ctrl + space 잘 안되면 이렇게하시오
-final 클래스
상속불가능. moetod에 붙이면 오버라이딩 불가능.
클래스, 필드, 매개변수에도 다 붙일 수 있다.(매개변수는 중,고급)
-static
상당히 많이 사용됨.
예외
라고 한다.only 대분자 = 상수
try {
//throws 메소드는 반드시 예외처리 해야 함.
int i = in.read();
//try 일어날 가능성이 있는 것들을 넣어놓는다. 예외처리해놓은것.
//예외를 잡고나면 catch로 간다.
} catch (IOException e) {
//e는 예외의 객체. rapper(?)변수.
e.printStackTrace();//예외가 일어난 경로 및 메시지
}
}
물체 > 동물 > 인간 > 남자(실체없다) > 장동건(실체)
object가 한국인의 웅녀같은 존재. 조상. 부모없다. 최상위 클래스
String 클래스
삼각형, 사각형, 도형, 원 => 여기서 도형이 추상. 나머지는 실체있다.
=> 실체없는 것들을 모은 것이 추상클래스
추상메소드는 오버라이딩을 해야 한다.
실체있는 건 클래스를 만들 수 있다. 하지만 실체없는 건 집합 군을 모아 클래스 만든다.
자동차 > 택시
abstract class Shape{
abstract void draw(); // 추상메소드 : 몸체는 없고 선언만 있음.
}
class Rectangle extends Shape{
@Override
void draw() {
}
}
class Circle extends Shape{
@Override
void draw() {
}
}
try {
int arr[] = new int[3];
arr[3] = 22; //배열 번호 0 1 2 인데 3으로 하니.
} catch(Exception e) {
System.out.println("배열 예외");
}
}
빨대 꼽는다고 생각하자.(in)
필요없는 stream을 close해준다.
이 두개 하는 것이 거의 공식화되어있다.