본문 바로가기

컴퓨터/언어,프로그래밍

JAVA - 자바 패키지 컴파일 & 실행 방법

ㅁ JDK설치 및 환경설정

   - 다운로드 http://java.sun.com

   - JDK 5.0 다운로드 및 설치

   - 환경변수 설정(내컴퓨터 - 속성 - 시스템 변수)

     a. 시스템 변수 - 새로 만들기 -  변수이름(N) : "JAVA_HOME",
                                                 변수값(V)    : "C:\Program Files\Java\jdk1.6.0_13" 추가

     b. 시스템 변수 - Path 선택하고 맨 앞에 [%JAVA_HOME%\bin;] 추가

 

ㅁ 컴파일 ~ 실행(VM기능 이해

   - [*.java]  -> 컴파일 -> [*.class(byte code형태)] -> VM이 [class load, byte code 검증,  binary 코드로 변경]해서 실행

   - 컴파일 : javac 소스명.java

   - 실   행 : java 클래스명

 

[Code : HelloWorld.java]

 

public class HelloWorld
{
 public static byte b;
 public static short s;
 public static int i;
 public static long l;

 public static float f;
 public static double d;

 public static boolean bool;

 public static char c;

 public static void main(String args[]){
  System.out.println("byte b= " +b+"\tshort s= " +s+"\tint i= " +i+"\tlong l= "+l);
  System.out.println("float f= " +f+"\tdouble d= " +d);
  System.out.println("boolean b= " +bool+"\tchar c= " +c);
  
  byte b1,b2,b3; // 선언
  b1 = 10;       // 할당
  b2 = 20;
//  b3 = b1 + b2;  // error: 연산자 기본 타입인 int타입으로 변환
  b3 = (byte)(b1+b2); // 명시적인 type casting
  System.out.println("b3 = "+b3);

//  System.out.println("Hello Java..");
 }
}

 

 

[ 자바 패키지 컴파일 & 실행 방법 ]

 

<package> --- <src>-------- <myPackage> -------  MyClass.java

                          |                 < test> -------------  PackageTest.java

                          |    

                    <classes>

 

 

[MyClass.java]

package myPackage;

public class MyClass
{
   public void myMethod(){
     System.out.println("myPackage.MyClass의 myMethod()");
   }
}

 

[PackageTest.java]

package test;

import!! myPackage.MyClass;

 

public class PackageTest{
  public static void main(String[] args)
  {
     MyClass o =  new MyClass();
     o.myMethod();
  }
}

 

컴파일

src> javac -d ..\classes myPackage\MyClass.java test\PackageTest.java

 

실행

> java test.PackageTest  // 자바에서 디렉토리 구분자 [.]

> java -classpath ..\classes test.PackageTest

 

* static 변수나 메소드에서 non-static 변수나 메소드를 이용하기 위해서는

   객체생성해야 함

  - static은 클래스 로더에 의해 단 한번만 메모리에 로드

  - 참조하는 곳이 static인 경우 같은 클래스에서는 객체생성없이 참조가능, 다른 클래스에서는

    클래스명으로 참조

 

private - 같은 클래스에서만 이용가능

default - 상속관계에 있더라도 같은 디렉토리에 있어야 이용가능

protected  - 서로다른 디렉토리에 있을 때 상속관계에 있으면 객체생성하여 이용가능

public - 어디서나 접근

 

다형성을 적용

interface 클래스

 - 구현됨 메소드 미포함

abstract 클래스 - 상속받으면 반드시 오버라이딩 해야됨

- 구현된 메소드 포함

 

 

//          단일라인 주석

/*  ~ */  멀티라인 주석

/** ~ */ 자바 다큐멘테이션 주석



출처 : http://blog.daum.net/pokey/11806548
제주삼다수, 2L,... 오뚜기 진라면 매운... 상하목장 유기농 흰... 남양 프렌치카페 카... 고려인삼유통 홍삼 ... 종근당건강 오메가3... 요이치 카링 유무선...