passion and relax

[JAVA] 01. 껍질을 깨고 (간단한 소개) 본문

프로그래밍

[JAVA] 01. 껍질을 깨고 (간단한 소개)

Grab Java 2024. 5. 20. 15:14

자바의 유혹

. 친숙한 문법
. 객체 지향적인 기능
. 메모리 관리
. 이식성 : 어디서든 실행

자바는 어떤 식으로 돌아갈까?

. 소스 작성(Party.java) : 정해진 자바 문법을 따라야 함.
. 컴파일(javac Party.java)
. 소스가 무결할 때, 바이트코드(어디서든 실행)를 만들어 냄(Party.class 생성)
. 실행중에 발생할 에러를 미리 막아준다.
. 가상머신(java Party) : 바이트코드를 해당 플랫폼에 맞게 해석/실행을 해주는 가상적인 머신

자바의 역사

. 1.02 : 클래스 250개. 애플릿용
. 1.1 : 클래스 500개. 기능다양. GUI 향상
. 1.2 ~ 1.4 : 클래스 2,300개. 강력. ME/SE/EE 분리.
. 1.5 : 클래스 5,000개. 더 강력. 개발용이

배열의 선언 및 초기화

[정수]
int[] arrNum = new int[10];     //비추방법 : int  arrNum[] = new int[10];
int[] arrNum = {2, 4, 6, 8};


[String]
String[] arrStr = {"apple", "banana", "podo"};
int size = arrStr.length;
String randomStr = arrStr[(int) (Math.random() * size)];

try, catch

//뭔가를 시도해 보자
try {
 //시도할 뭔가는 파일 읽기다
 readFile("myFile.txt");
}

//성공하면 통과하고, 시도하다가 문제가 생기면, catch문을 실행하자
//생길수 있는 문제 중, File이 없는 경우에는 아래 catch문을 실행하자
catch (FileNotFoundException ex) {
 System.out.println("File not found.");
}

//생길수 있는 문제 중, 들어갈 타입과 다른 타입이 온 경우에는 아래 catch문을 실행하자
catch (ClassCastException ex) {
 System.out.println("Cast error.");
}

메소드에서는 뭘 하나?

. 뭔가를 선언한다. (선언문, 대입문, 호출문)
. 뭔가를 반복한다. (반복문)
. 조건에 따라 뭔가를 한다. (조건문)

while 문

while (조건) {
 선언문;
}

정수에 대해 부울 테스트 허용 안함

int x = 1;
while (x) { }  //불가..

Jini surrogate architecture (지니 대체 아키텍처)

. 꿈 같은 홈 시스템 구축
. 필요한 통신 프로토콜 : IP 멀티캐스트 프로토콜
    참고 : Unicast(일대일),  Broadcast(일대다),  Multicast(다대다)