BackEnd/Java

[JAVA]JAVA 프로그래밍 기초

Hojung7 2024. 7. 18. 20:40
1. JAVA 프로그래밍 언어 특징

 

1) 운영체제(OS)에 독립적

-> (OS 관계없이 동일 코드로 동작. 이식성이 높다고도 표현함.)

2) 객체 지향 프로그래밍(OOP) 언어

3) 사용하기 쉬운 언어

- 능률적이고 명확한 코드 작성 가능

- 다른 언어의 단점 보완(포인터)

4) 자동 메모리 관리(Garbage Collection)

5) 동적 로딩 지원
6) 멀티쓰레드 지원
7) 네트워크와 분산환경 지원

 

2. JVM(Java Virtual Machine)

 

Java를 실행하기 위한 가상 기계로 OS(운영체제)에 관계없이 독립적으로 동작.

→ C : OS가 코드를 직접 해석하기 때문에 C언어는 OS 따라 코드가 다른 부분이 존재.

→ Java : OS에 맞는 JVM을 설치하여 OS 종류 관계없이 JVM이라는 가상머신이 Java 코드를 동일하게 해석.
 
[JVM이 Java 코드를 해석하는 순서]
 
개발자가 작성한 Java 코드를 Compiler(컴파일러)가 byte code(.class 파일)로 번역
                                             ↓
                                    JVM에 전달
                                            ↓
     JVM이 Interpreter(인터프리터) 방식으로 한 줄 씩 해석
 

3. JAVA 프로그래밍 기본

 

1) class 

  • 객체를 만들기 위한 일종의 설계도.
  • 자바에서 모든 코드는 반드시 클래스 안에 존재해야 하며 서로 관련된 코드들을 그룹으로 나누어 별도의 클래스를 구성
  • 클래스들이 모여 하나의 Java 애플리케이션 구성
public class 클래스명 {

/*
 * 주석을 제외한 모든 코드는 블록 클래스 {} 내에 작성
 */
}

 
2) 주석(comment)
 
코드에 대한 설명이나 그 외 다른 정보를 넣을 때 사용하는 것으로 컴파일 시 컴파일러가 주석 부분은 건너 뜀

/* */ : 범위 주석, /* 와 */ 사이 내용은 주석으로 간주

// : 한 줄 주석, // 뒤의 내용은 주석으로 간주
 
3) main (main method)
 
- public static void main(String[] args)
 
 고정된 형태의 메서드 선언부로 Java Application을 실행하는데 필요한 메서드 (프로그램 실행 시 java.exe에 의해 호출됨)
 
* 모든 클래스가 main메서드를 가지고 있어야 하는 것은 아니지만
하나의 Java애플리케이션에는 main메서드를 포함한 클래스가 반드시 하나 이상 존재해야 함.

public class 클래스명 {
	
    public static void main(String[] args){ // 메인 메서드의 선언부
    
    		// 실행될 코드를 작성
     }
}

 

4. 자바 실행해보기

 

public class JavaTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	
		 System.out.println("이클립스 사용중");
		
		 
		 // sysout, ctrl + space, enter
		 System.out.println("메모장보다 쉽다");
		 
		 // 실행 : 위에 Run 버튼(▷) 또는 단축키 ctrl + f11
		 		
      }
}

 
< Java API DOC 확인 방법>

- Java API : 자바가 만들어서 제공해준 코드(기능)

-  API DOC : 제공하는 기능에 대한 설명 문서

 

* 궁금한 것 클릭 -> shift + f2

 
#결과

 

'BackEnd > Java' 카테고리의 다른 글

[Java]변수 실전예제2  (2) 2024.07.21
[JAVA]01_변수 실전예제1  (0) 2024.07.20
[JAVA]변수 Scanner  (1) 2024.07.20
[JAVA]변수 Print  (1) 2024.07.18
[JAVA]변수 기초  (0) 2024.07.18