ProgrammingLang/Java

1. 자바 기본 설치 및 자바의 기초

jinkwon.kim 2017. 5. 7. 02:11
728x90
반응형

1. 자바 기본 섳치 및 자바의 기초 

1. Java의 특징 

 1) 코드이 단순성

  - C++에서 잘사용하지 않거나 모호하고 좋지 않느 기능을 제외하고 단순화 

  - Java와 C/C++과 다른점 

   (1). 구조체(struct), 공용체(union), 포인터(Pointer)를 지원하지 않음 

   (2). typdef 와 #define을 지원하지 않음 

   (3). 연사자 다중 정의를 지원하지 않음 

   (4). 클래스 다중 상속을 지원하지 않음

   (5). 문자 배열로서 String이라는 클래스를 지원함. 

   (6). 쓰레기 수집기(Garbage Collection)기능을 제공함으로서 메모리 할당돠 해제가 되어 함수를 상요할 피요가 없음

 2) 객체 지향 언어 

  - C++ 에서와 같이 전역 변수와 독립 함수가 존재 하지 않음. 

  - 자바에서는 오직 객체만이 존재한다. 

  - 객체 = 속성(Attributes) + 행위(Behavior)

         = 변수 (variable)+ 메소드(Method)

 3) 플랫폼 독립

  - 네트워크 환경과 다양한 하드웨어서 작동 할수 있음 

  - 자바 가상머직이 있으면 자바코드의 변경 없이 실행 할수 있음 

  - 자바 컴파일러는 바이트코드라는 중립적이 구조의 실행 코드를 만들어냄

  - 바이트 코드는 각 플렛폼에 있는 인터프리터를 통해 실제로 실행됨.


 4) 신뢰성과 안정성

  - 컴파일시 엄격한 데이터 형 검사. 

  - Heap이나 Stack등의 메모리에 접근 할수 없음

  - 공용키 암호화 방법으로 상요자를 식별

 5) 높은 성능

  - Garbage Colloctiion)때문에라고하는데 이해가 안된다....OTL...

 6) 멀티쓰레드


2. JDK 및 JRE 다운로드 (자바 개발 환경을 위한 Java 설치)

 - JDK(Java Developemtn KIt) 

 - JRE : 자바 실행 환경인 JVM 과 클래스 라이브러리(JAVA API)가 포함되어 있다.

 - JDK를 다운로드 받아 설치하면 JRE도 함께 설치가 된다.

 - JDK는 개발 하는 영역에 따라 설치하는 JDK의 설치 종류가 달라야 한다. 

 1).Java SE Development Kit : 자바의 기본적인 에디션, 채팅, 메신저, 게임, 메모장등 데스크톱 앱플리션을 개발 

 2).Java ME Development Kit : PDA, 핸드폰, 스마트폰 등 모바일 환경을 구축 

 3).Java EE Development Kit : 자바의 서버 기술 , 비즈니스 로직을 수행하는 컴포넌트(EJB)개발

 - Java SE 다운로드 받을 곳

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 4) JDK의 구조 

  - bin디렉토리 하위 파일들


2. Eclipse 다운로드 

 - JAVA를 개발하기 위해서 많이 사용한다. 

 - 기본적으로 Eclipse IDE for Java Developers 를 받아서 사용하면 된다.

 - 다운로드 받을 곳

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/neon/3/eclipse-java-neon-3-win32-x86_64.zip&mirror_id=448



3. 자바 코드 예제.

 - 코드 

public class MTest {


public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("Test Java");


}


}

  - 코드 의미 


public class MTest { <= 클래스 이름 , 이 이름으로 파일일이 저장된다 . Mtest.java


public static void main(String[] args) { <= 메인 함수 진입점

// TODO Auto-generated method stub

System.out.println("Test Java"); <= 표준 출력문을 구현하는 메소드로 자바의 모든 자료형을 출력할수 있는메소드


}


}


4. Eclipse 없이 자바코드 실행 하는 방법

 1). 자바 코드를 Text 편집기를 이용하여 코딩

 2). 파일 이름을 "클래스명.java"로 저장함(만일 클래스이름이 class AA{}라면 AA.java로 저장)

  - 저장시 대소문자는 반드시 구별해서 저장 필요

  - 확장자는 반드시 ".java"이여야한다. 

 3). Compile하기 

  - Compile작업: javac 파일명.java 로 javac AA.java로 컴파일함. 

  - Compile적업 후 : 파일명.class(Java Byte Code)라는 파일이 생성되며, AA.java를 Compile하면 AA.class가 생성됨.

 4). Run함

  - java 팡리명 으로 한다 , java AA로 실행하면된다. 


 

5. JVM(Java Virtual Machine) 이란??

 - 실제로 존재하는 것이 아닌 개념적이 컴퓨터 

 - 소프트 웨어로 하드웨어를 에뮬레이션하는 가상 컴퓨터 

 - java.class파일을 시행하면 JVM 다음과 같은 과정을 거쳐 실행시킨다. 


 

 - JVM의 메모리 구조



6.자바 애플리케이션 분석

 1). 주석
  -  /* */, // 
 2). class키워드 
  - 객체지향 프로그래밍에서 가장 기본이 되는 클래스를 정의하는 키워드
  - 자바 프로그램은 이 클래스를 하나 이상 가짐
  - 선언된 클래스 이름은 자바 파일의 이름이 됨.
  - 컴파일하게되면 클래스 이름 뒤에 .class라는 확장자가 붙음
 3). main 메소드 
  - 자바에서는 함수라는 이름 대신 메소드라는 말을 사용함. 
  - 메소드의 입력은 String 타입의 args라는 매개변수를 사용
  - 메인 메소드의 출력(리턴값)
    1) void : 아무것도 출력 않함.
    2) public : 누구든 이 메소를 호출할수 있도록 공개
    3) static : 이 클래스에서는 오직 하나의 main 메소드 공유 
 4). 괄호
  - () 소괄호 : 메서드, 우식의 우선순위
  - {} 중괄호 : Block의 시작과 끝
  - [] 대괄호 : 배열 선언 및 요소 지정
 5). *.java source file
  - package 선언
  - import 문
  - class, interface 정의 
 6). class
  - 멤버 변수와 메소드의 결합
   (1). 멤버 변수 : 오브젝트의 특성을 나타냄
   (2). 메소드 : 오브젝트가 행할수 있는 도작을 나타냄
  - 하나의 소스파일에 클래스를 여러 개 선언한 경우 
   (1). public이 붙은 클래스를 하나만 선언 할수 있음 
   (2). 이 클래스 이름은 소스파일명과 동일해야함. 
 7). package
  - class들을 모아 놓은 class library
  - 클래스들이 여러개 있는 경우 관련 클래스를 분류해서 관린할수 있도록 package를 제공


728x90
반응형