'자바(JAVA)'에 해당되는 글 7건

  1. 2011.12.06 자바 API (1)
  2. 2011.10.24 자바 실행파일(exe) 만들기 (5)
  3. 2011.10.24 자바 프로그램 이해 - 5
  4. 2011.10.24 자바 프로그램 이해 - 4
  5. 2011.10.24 자바 프로그램 이해 - 3
  6. 2011.10.13 자바 프로그램 이해 - 2
  7. 2011.10.12 자바 프로그램 이해 - 1

자바 API

자바(JAVA) 2011.12.06 17:10
위키백과에 다음과 같이 정의하고 있네요.

자바 API는 자바를 사용하여 쉽게 구현할 수 있도록 한 클래스 라이브러리의 집합이다. 즉, 자바라는 언어를 사용하여 사용자의 부담을 최소화하는 반면에 입출력, 화면 구성, 이미지, 네트워크와 같이 복잡하지만 필요한 클래스들을 미리 구현하여 사용자가 쉽게 구현하도록 하는 API이다. 이러한 자바 API는 하나의 커다란 클래스 계층구조로 설계되어 있다.

아래 사이트를 들어가서 최신 API Document를 확인해 보세요.
http://docs.oracle.com/javase/7/docs/api/index.html


왼쪽 상단은 패키지 이름, 그 아래쪽에 인터페이스와 클래스이름, Exception들, 오른쪽에는 클래스의 설명, 생성자, 메소드, 변수에 대한 것이 나옵니다.
저작자 표시 비영리 변경 금지
신고

'자바(JAVA)' 카테고리의 다른 글

자바 API  (1) 2011.12.06
자바 실행파일(exe) 만들기  (5) 2011.10.24
자바 프로그램 이해 - 5  (0) 2011.10.24
자바 프로그램 이해 - 4  (0) 2011.10.24
자바 프로그램 이해 - 3  (0) 2011.10.24
자바 프로그램 이해 - 2  (0) 2011.10.13
Posted by 천왕지짐
자바로 만든 어플리케이션을 배포할 때 실행파일(exe)로 변경하는 것이 필요합니다. 아래 사항을 잘 따라하면 쉽게 해결할 수 있습니다.


1. 준비물
   - 이클립스
   - JSmooth (없는 경우 다운로드 http://sourceforge.net/projects/jsmooth/files/ )
   - 준비된 소스 파일

2.개요

1) 작성한 해당 프로젝트에서 마우스 오른쪽 누르고 Export  선택

 


2) Runnable JAR 선택

 


3) Launch Configuration 및 Export 파일명 설정

 



3. 실행파일 EXE 만들기

1) JSmooth 첫화면

 

 
2) 왼쪽 Skeleton 탭 선택 > 콤보에서 Console Wrapper 선택
(SWT 등 윈도우 GUI 어플일 경우에는 Windowed Wrapper 선택)

 


3) Executable 탭에서는 실행파일명(찾지 말고 입력, 예 test.exe)과 실행파일의 아이콘을 설정합니다.

 


4) Application 탭에서는 앞서 이클립스에서 생성한 Runnable JAR를 먼저 추가해야 합니다. 즉 오른쪽 중간의 + 기호 문서를 클릭한 후 이클립스에서 만든 jar파일을 추가합니다.

 


5) Main class 오른쪽 끝 버튼을 눌러 시작 클래스를 지정합니다.
   클래스가 여러개면 아래처럼 여러개 나타납니다.


6) JVM Selection 탭에서는 JDK의 최소버전 정보만 입력합니다.

 


7) 컴파일 (상단메뉴 Project > Compile)

 


8) JSmooth 설정파일 저장 (옵션)

9) 컴파일 완료

 


10) 실행 파일이 만들어졌습니다.





10) 드디어 실행 ~
저작자 표시 비영리 변경 금지
신고

'자바(JAVA)' 카테고리의 다른 글

자바 API  (1) 2011.12.06
자바 실행파일(exe) 만들기  (5) 2011.10.24
자바 프로그램 이해 - 5  (0) 2011.10.24
자바 프로그램 이해 - 4  (0) 2011.10.24
자바 프로그램 이해 - 3  (0) 2011.10.24
자바 프로그램 이해 - 2  (0) 2011.10.13
Posted by 천왕지짐
제어문에 대해 알아보도록 하겠습니다. 여러 가지 중에서 가장 많이 사용하는 if와 switch 문에 대해서만 예제를 살펴보도록 하겠습니다. 이 두 문은 반드시 꼭 알고 있어야 합니다.
 
■ SwitchDemoMain.java
package firstpackage;
public class SwitchDemoMain {
   public static void main(String[] args) {
      int age = 10;
      String msg = "";
      if(age == 10)
    msg = "10대군요";
      else if(age == 20)
    msg = "20대군요";
      else if(age == 30)
    msg = "30대군요";
      else
    msg = "많군요.";
      System.out.println(msg);
      age += 10;
      switch(age){
    case 10:
       msg = "10대군요";
       break;
    case 20:
       msg = "20대군요";
       break;           
    case 30:
       msg = "30대군요";
       break;           
    default :
       msg = "많군요";
       break;
    }
      System.out.println(msg);
   }
}

결과

10대군요.
20대군요.



저작자 표시 비영리 변경 금지
신고

'자바(JAVA)' 카테고리의 다른 글

자바 API  (1) 2011.12.06
자바 실행파일(exe) 만들기  (5) 2011.10.24
자바 프로그램 이해 - 5  (0) 2011.10.24
자바 프로그램 이해 - 4  (0) 2011.10.24
자바 프로그램 이해 - 3  (0) 2011.10.24
자바 프로그램 이해 - 2  (0) 2011.10.13
Posted by 천왕지짐
쓰레드는 프로세스 여러 개가 동시에 같이 동작하게 하는 방법입니다. 인터넷 온라인 게임을 생각해 보면 쉽습니다. 각 쓰레드가 준비 또는 동작하고 있다가 어떤 이벤트에 의해 동작하도록 하는 것입니다. 채팅 프로그램 같은 경우에는 멀티쓰레드를 사용합니다.
참고로 파일 I/O나 데이터베이스를 제어할 때는 반드시 try~catch문을 사용해야 합니다. 아래 예제는 멀티 쓰레드를 사용하는 예제입니다. 일반적으로 main()이 포함된 클래스는 맨 마지막에 작성하는 것이 편리합니다.

■ MultiThreadMain.java
package firstpackage;
public class MultiThreadMain { 
   public static void main(String[] args) {
      Thread thread1 = new DigitThread(); 
      //DigitThread가 Thread를 상속 받았기 때문에 가능
      Thread thread2 = new StringThread();
      thread1.start();
      thread2.start();
      System.out.println("끝~~~~~~");
   }



■ DigitThread.java
package firstpackage;
public class DigitThread extends Thread {
// Thread를 상속받는다.
// 멀티 상속은 안되며 멀티상속은 인터페이스를 사용하면 된다.
   public void run(){
      for(int i=1; i<101; i++){
      System.out.println(i);
      try {
    Thread.sleep(500);
    } catch (InterruptedException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
    }
      }
   }
}

메소드 run()은 처음에 다른 이름으로 주고 테스트를 진행한 후에 이상이 없을 때 바꾼다.


■ StringThread.java
package firstpackage;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class StringThread extends Thread{   
   public void run(){       
      try {
    FileReader reader = new FileReader("c:/test.txt");
        //파일 입출력,DB 읽을 때 try문 반드시 포함해야 함
    while(true){
       int data = 0;
       try {
          data=reader.read();
       } catch (IOException e){
          e.printStackTrace();
       }
       char ch=(char)data;
       if(data == -1) // 데이터가 없으면의 뜻.
           break;
               System.out.println(ch);
       try {
           Thread.sleep(500);
       } catch (InterruptedException e) {
       // TODO Auto-generated catch block
          e.printStackTrace();
       }
    }
      } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    //e.printStackTrace();
    System.out.println(e);
      }   
   }
}

C드라이브의 루트에 메모장으로 test.txt 파일을 생성한 후 몇 줄의 내용을 입력해 놓아야 한다.



저작자 표시 비영리 변경 금지
신고

'자바(JAVA)' 카테고리의 다른 글

자바 실행파일(exe) 만들기  (5) 2011.10.24
자바 프로그램 이해 - 5  (0) 2011.10.24
자바 프로그램 이해 - 4  (0) 2011.10.24
자바 프로그램 이해 - 3  (0) 2011.10.24
자바 프로그램 이해 - 2  (0) 2011.10.13
자바 프로그램 이해 - 1  (0) 2011.10.12
Posted by 천왕지짐
이제는 메소드에 protected와 변수에 private를 붙여 접근 제한자를 사용하는 방법을 익혀보도록 하겠습니다.

■ HelloJava.java
package firstpackage;
public class HelloJava {
    public static void main(String[] args) {   
        HelloCalled obj = new HelloCalled();
        int aaa = obj.returnMeth();
        System.out.println("Total = "+aaa);
        int num1 = 33;
        int num2 = 67;
        System.out.println(obj.moveMeth(num1, num2));
    }
}


■ HelloJava1.java
package secondpackage;
import firstpackage.HelloCalled;
public class HelloJava1 {
    public static void main(String[] args) {
        HelloCalled obj = new HelloCalled();
    // obj.moveMeth(300,500); protected이면 이렇게 사용 불가        System.out.println(obj.moveMeth(400, 500));
    }
}


■ HelloCalled.java
package firstpackage;
public class HelloCalled {
    private int num;
    private String str;
    public void helloCalled(){
        this.num = 10;       
        this.str = "안드로이드"; 
    }
    public int returnMeth(){
        int sum = 0;
        for(int i = 1; i <= 10; i++){
    sum += i;
        }
        return sum;
    }
//같은 패키지 안이므로 상관 없다.
//protected int moveMeth(int num1, int num2){
    public int moveMeth(int num1, int num2){
        int sum = 0;
        sum = num1 + num2;
        return sum;
    }
}

혹시 이해가 되시는지요? ㅎㅎ




저작자 표시 비영리 변경 금지
신고

'자바(JAVA)' 카테고리의 다른 글

자바 실행파일(exe) 만들기  (5) 2011.10.24
자바 프로그램 이해 - 5  (0) 2011.10.24
자바 프로그램 이해 - 4  (0) 2011.10.24
자바 프로그램 이해 - 3  (0) 2011.10.24
자바 프로그램 이해 - 2  (0) 2011.10.13
자바 프로그램 이해 - 1  (0) 2011.10.12
Posted by 천왕지짐

자바 프로그램에 대한 두번째 글입니다. 천천히 따라서 실습해 보시기 바랍니다. 그리고 개념과 원리를 명확히 이해하시기 바랍니다.

1. 클래스를 이용하는 예제

클래스를 하나 만든 후 만든 클래스를 다른 클래스에서 사용하는 예제이다.

■ HelloJava.java

package firstpackage;
public class HelloJava {
    public static void main(String[] args) {
        HelloCalled obj = new HelloCalled();
        obj.helloCalled();   // 아래 메소드를 직접호출한것과 동일
        System.out.println(obj.num);
        System.out.println(obj.str);
        obj.returnMeth();
    }
}

결과
10  안드로이드
Total = 55

설명

new HelloCalled(); 부분을 생성자라고 한다. 생성자는 이름 규칙이 클래스처럼(첫글자 대문자) 되어 있지만 사실 메소드이다. 초기화를 시키거나 해당 객체가 생성되면 한번 수행되는 역할을 한다.

■ HelloCalled.java

package firstpackage;
public class HelloCalled {
  HelloCalled(){ // 생략
  }
    //변수(variables)
    int num;
    String str;
    //메소드(method)
    public void helloCalled(){
        this.num = 10;       // this는 num이나 str을 의미한다.
        this.str = "안드로이드";
    }
    public void returnMeth(){
        int sum = 0;
        for(int i = 1; i <= 10; i++){
 sum += i;   
        }
        System.out.println("Total = " + sum);
    }
}

설명
보통 위와같은 방법처럼 메소드에서 어떤 결과를 수행하는 방법처럼 사용한다. 패키지안에 여러개의 클래스를 만들어 놓게 되면 쉽게 생성자를 통한 접근이 가능해 진다. 다른 앱에서도 필요한 경우 아예 패키지를 통째로 import시키면 수월하게 이용할 수 있을 것이다.

return을 사용하여 값 되돌려 보내기
아래 예제는 위의 예제에 있는 메소드에서 출력하는 방법을 쓰지 않고 값을 되돌려주는 방법을 사용한 예제이다.
메소드에서 값을 보낼 때는 return을 사용하는데 return은 하나의 값만 보낼 수 있다. 하지만 실제 프로그래밍 시에는 여러 개의 값을 보낼 수도 있어야 하므로 추후에 레퍼런스 타입에 대해 배워야 한다. 일반적으로 return값은 int, string, array, arraylist, class(Javabean) 방법을 사용한다.

■ HelloJava1.java

package firstpackage;
public class HelloJava1 {
    public static void main(String[] args) {
        HelloCalled1 obj = new HelloCalled1();
        int abc = obj.returnMeth();  // 결과를 받아야 하므로
        System.out.println("Total = "+abc);
    }
}



결과
Total = 55

■ HelloCalled1.java

package firstpackage;
public class HelloCalled1 {
    int num;
    String str;
}
public int returnMeth(){
    int sum = 0;
    for(int i = 1; i <= 10; i++){
        sum += i;
    }
    return sum;
}

설명
이전 예제와 달리 반환하는 값이 있으므로 returnMeth() 앞에 void 대신 리턴하는 값의 타입을 표시하며 호출한 프로그램(HelloJava1.java)쪽에서는 리턴값을 받는 변수를 지정하며 이 변수 역시 같은 Type(타입)이어야 한다.

이번에는 메소드를 호출하기만 하지 않고 메소드 쪽으로 값을 보내는 방법을 사용해보도록 하겠다. 호출할 때는 "메소드(변수,변수)" 형태를 사용하며 호출 받는 메소드쪽에서는 변수의 타입을 반드시 표시해야 한다. 즉, "메소드(변수타입 변수, 변수타입 변수)" 처럼 기입해야 하며 반드시 보내고 받는 변수의 개수 또한 동일해야 한다.

■ HelloJava2.java

package firstpackage;
public class HelloJava2 {
    public static void main(String[] args) {           
       HelloCalled2 obj = new HelloCalled2();
       int aaa = obj.returnMeth();
       System.out.println("Total = "+aaa);
       int num1 = 33;
       int num2 = 67;
       System.out.println(obj.moveMeth(num1, num2));
    }
}

결과
Total = 55
100

■ HelloCalled2.java

package firstpackage;
public class HelloCalled2 {
    int num;
    String str;
    public int returnMeth(){
        int sum = 0;
        for(int i = 1; i <= 10; i++){
 sum += i;
        }
        return sum;
    }
 
    public int moveMeth(int num1, int num2){
        int sum = 0;
        sum = num1 + num2;
        return sum;
    }
}

프로그래밍 작성 요령으로 메소드를 만들 때는 일단 void로 시작하는 것이 좋다. void로 시작하면 에러가 발생되지 않으며 추후 리턴값이 결정될 때 void 대신 실제 타입으로 변경하는 방법을 사용하는 것이 좋다.


저작자 표시 비영리 변경 금지
신고

'자바(JAVA)' 카테고리의 다른 글

자바 실행파일(exe) 만들기  (5) 2011.10.24
자바 프로그램 이해 - 5  (0) 2011.10.24
자바 프로그램 이해 - 4  (0) 2011.10.24
자바 프로그램 이해 - 3  (0) 2011.10.24
자바 프로그램 이해 - 2  (0) 2011.10.13
자바 프로그램 이해 - 1  (0) 2011.10.12
Posted by 천왕지짐

자바를 잘 모르더라도 안드로이드를 시작하고 개발할 수 있겠지만 자바를 알면 훨씬 쉽게 이해할 수 있기 때문에 자바에 대해 조금만 설명하려고 합니다.

1. 자바 프로그램 개발 툴 종류

- SE(Standard Edition) : 클라이언트 지향의 기본적인 환경
- EE(Enterprise Edition) : 서버 소프트웨어 개발을 위한 환경
- ME(Micro Edition) : PDA나 휴대 전화등 소형기기를 위한 소프트웨어 개발 환경

2. Java SE 6 설치

자바 개발을 위해 JDK(Java Development Kit)를 설치해야한다.
1) http://java.sun.com/javase/downloads/index.jsp 접속
2) jdk-6u21-windows-i586.exe 다운로드(가급적 최신버전)
3) 설치

3. 프로그래밍의 기본 흐름

프로그래밍을 하기 위해 텍스트 에디터(예, 메모장)로 기술한 후 바이트 코드로 변환하기 위해 컴파일러를 사용한다. 컴파일러는 JDK 설치하는 것으로 해결된다.

1) .java라는 확장자를 붙여 텍스트 파일로 기술하며 소스파일이라고 불린다.
    - Hello.java

2) 소스 파일을 컴파일 한다. 대소문자를 구분하며 확장자까지 반드시 기술해야 하며 컴파일하면 .class가 붙는다.
    - javac Hello.java

3) 프로그램을 실행한다. 확장자는 붙이지 않는다.
    - java Hello

4. 프로그램 기술시 Rule

1) 대소문자를 구별하여 사용한다.
2) 전각 스페이스를 사용하면 찾기가 어려워진다.
3) 주석은 /* */ 또는 //를 사용한다.
4) 예약어는 사용하지 않는다.

5. Hello World 프로그램 작성하기

1) 메모장과 같은 에디터를 실행하여 코드를 작성한다. 메모장 이외에 EditPlus와 같은 에디터를 추천한다.

2) 아래 코드를 작성한 후 Hello.java로 저장한다. 아래 코드 중 앞의 숫자는 해설을 위해 포함시켜 놓은 것으로 코드 작성 시 생략한다.

1: // 프로그램명 : Hello.java
2: class Hello{
3: public static void main(String[] args){
4:     System.out.println("Hello World");
5: }
6: }

3) 도스창으로 들어가기 위해 윈도우즈 시작-실행에 cmd라고 입력한 후 실행시킨다.
4) 도스창에서 위의 Hello.java가 저장되어 있는 폴더로 이동한다. 이동 명령어는 cd이다.
5) 아래 명령어를 실행시켜 소스프로그램을 목적프로그램으로 만든다.
    - javac Hello.java
4) 도스창에서 이어서 아래 명령어를 실행시켜 목적프로그램을 실행시킨다.
    - java Hello

프로그램 설명

1: // 이부분은 주석이다.
2: 항상 ‘class 클래스명’ 부분부터 시작한다.
3: 프로그램은 이 메인 메소드(main()함수)부터 시작한다.
4: 문자열을 표시하는 print() 메소드이다. 하나의 문장이 끝남을 표시하기 위해 세미콜론(;)을 찍으며 println() 메소드는 문자열을 화면에 표시하고 행을 바꾼다.
5,6: 메인 메소드와 클래스의 끝을 나타낸다.

6. 다른 프로그램 작성하기

프로그램 작성을 이해하기 위해 다른 프로그램을 작성하고 실행해 보자.

1: // 프로그램명 : Compare.java
2: class Compare{
3: public static void main(String[] args){
4:    int a = 10, b = 20;
5:    System.out.println(" a = "+a + " b = " + b);
6:    System.out.println(" a < b --> " + (a < b));
7:    System.out.println(" a > b --> " + (a > b));
8:    System.out.println(" a == b --> " + (a == b));
9:    System.out.println(" a = b --> " +(a = b));
10: }
11: } 

핵심 포인트

- 클래스 명은 대문자로 시작
- 메소드 명은 소문자로 시작
- 두 단어의 합성어의 경우 두 번째 단어는 대문자로 시작

저작자 표시 비영리 변경 금지
신고

'자바(JAVA)' 카테고리의 다른 글

자바 실행파일(exe) 만들기  (5) 2011.10.24
자바 프로그램 이해 - 5  (0) 2011.10.24
자바 프로그램 이해 - 4  (0) 2011.10.24
자바 프로그램 이해 - 3  (0) 2011.10.24
자바 프로그램 이해 - 2  (0) 2011.10.13
자바 프로그램 이해 - 1  (0) 2011.10.12
Posted by 천왕지짐


티스토리 툴바