Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

요리사에서 IT개발자로

Java 1장(with 이것이 자바다) 본문

Java

Java 1장(with 이것이 자바다)

H.S-Backend 2024. 4. 9. 15:17

프로그래밍 언어란

컴퓨터가 이해할 수 있는 언어 (Machine Language)
기계어는 0과 1로 이루어진 이진 코드

 

프로그래밍 언어고급언어와 저급 언어로 구분된다.

 

고급언어
  • 컴퓨터와 대화 할수 있도록 만든 언어 중 사람이 이해할 수 있는 언어.
저급언어 
  • 기계어에 가까운 언어 대표적으로 어셈블리어

 

대표적인 프로그래밍 언어인 C, C++, Java모두 고급언어다.


자바란?

이식성이 높은 언어이다.

 

이식성
  • 서로 다른 실행 환경을 가진 시스템 간 프로그램을 옮겨 실행 할 수 있는것.
  • 예를 들어 MS 윈도우 에서  실행하는 프로그램 -> 리눅스 or 유닉스에서 실행 = 되면 이식성이 높지만 안되면 낮다.
  • 자바 실행 환경(JRE : Java Runtime Environment) 이 설치 되어 있는 모든 운영체제에서 실행이 가능하다.
객체지향 언어이다.
  • 프로그램 개발 기법으로 부품에 해당하는 객체를 만든다 -> 조립 및 연결한다 -> 전체 프로그램을 완성한다.
  • 이것을 객체 지향 프로그래밍(OOP : Object Oriented Programming) 이라 한다.
  • 자바는 100% 객체 지향 언어이다.
함수적 스타일 코딩을 지원한다.(람다식 : Lambda Expressinons)
메모리를 자동으로 관리한다.
  • 객체를 생성할 시 자동적으로 메모리 영역을 찾아서 할당하고 사용이 완료되면 쓰레기 수집기(Garbage Collector)실행시켜 자동적으로 사용하지 않는 객체를 제거시켜준다.
다양한 애플리케이션을 개발할 수 있다.
  • 윈도우, 리눅스 유닉스, 맥 등 다양한 운영체제(OS:Operating System)에서 실행되는 프로그램을 개발할 수 있다.
멀티 스레드(Multi-Thread)를 쉽게 구현할 수 있다.
  • 하나의 프로그램이 동시에 여러가지 작업을 처리해야 할 경우와 대용량 작업을 빨리 처리하기 위해 서브 작업으로 분리해서 병렬처리하는 프로그래밍.
동적 로딩(Dynamic Loading)을 지원한다.
  • 자바 어플리케이션은 여러개의 객체가 연결되어 실행될 때 모든 객체가 실행되지 않고 객체가 필요한 시점에 클래스를 로딩해서 실행한다.
  • 개발 완료 후 유지보수가 발생하더라도 해당 클래스만 수정하면 되기에 전체 어플리케이션을 다시 컴파일할 필요가 없다.
막강한 오픈소스 라이브러리가 풍부하다.
  • 자바는 오픈소스 (Open Source) 언어이기에 자바 프로그램에서 사용하는 라이브러리 또한 오픈소스가 넘쳐난다.
Java SE(Standard Edition) - 기본 에디션
  • Java SE는 자바 프로그램들이 공통적으로 사용하는 자바 가상기계(JVM: Java Virtual Machin)를 비롯해서 개발에 필수적인 도구와 라이브러리 API를 정의한다.
Java EE(Enterprise Edition) - 서버용 애플리케이션 개발 에디션
  • Java EE는 분산 환경(네트워크, 인터넷)에서 서버용 애플리케이션을 개발하기 위한 도구 및 라이브러리 API를 정의한다

자바 가상 기계(JVM)

  1. 운영체제는 자바 프로그램을 바로 실행할 수 없다.
  2. 자바 프로그램은 완전한 기계어가 아닌 중간 단계의 바이트 코드이다.
  3. 이를 해석하고 실행할 수 있는 가상의 운영체제가 JVM(Java Virtual Machine)이다.
특징
  • 실제 운영체제를 대신해서 자바 프로그램을 실행하는 가상의 운영체제 역할을 한다.
  • 바이트 코드는 모든 JVM에서 동일한 실행결과를 보장한다.
  • JVM은 운영체제에 종속적이다.

자바실행 프로그램은 반드시 클래스(class) 블록 main() 메소드(method) 블록으로 구성되어야 한다.

 

클래스 : 필드 또는 메소드를 포함하는 블록

메소드 : 어떤 일을 처리하는 실행문들을 모아 놓은 블록

 

클래스 특징
  1. 클래스의 이름은 개발자가 마음대로 정할 수 있다
  2. 주의할 점은 소스 파일명과 대소문자가 일치해야한다.
  3. 숫자로 시작할 수 없고 공백을 포함해서도 안된다.
Public class Hello{
} // Hello가 클래스 이름

 

메소드 특징
  1. 메소드 이름도 개발자가 마음대로 정할 수 있지만 main() 메소드 만큼은 다른 이름으로 바꾸면 안된다.
  2. java.exe로 JVM을 구동시키면 main() 메소드를 찾아서 실행시키기 때문이다.
  3. main()메소드 프로그램 실행 진입점을 "entry point"라 한다.
  4. main()메소드가 없거나 잘못 작성하면 클래스를 실행 할 수없다.
public static void main (String[] args){
           System.out.println("Hello, welcome to the java world!")'
}  //main이 메소드

 

실행문 끝에는 반드시 세미콜론 ; <- 을 붙여야한다.
그렇지 않으면 컴파일 에러가 발생한다.

주석이란 

프로그램 실행과는 상관없이 코드에 설명을 붙인 것을 말한다.

특징
  • 복잡한 코드일수록 주석을 해놓을 경우 전체 코드를 이해하기 쉽고 수정이 용이하다.
  • 문자열(" ") 내부에는 올 수 없다.(데이터로 인식된다)
주석 기호 설명
// //부터 라인 끝까지 주석을 처리한다.(행 주석)
/* ~ */ /*와 */사이에 있는 모든 범위를 주석으로 처리한다.(범위 주석)

 

/*
작성자 : 김형석
작성일 : 2024, 04 ,09
*/
public class Hello{
      //프로글매 실행 진입점
      public static void main(String[] args){
          //콘솔에 출력하는 실행문
         System.out.println("Hello, welcome to the java world!")'
   }  //end of main
}  //end of class

실행문과 세미콜론(;)

  • 실행문은 변수 선언, 값 저장, 메소드 호출에 해당하는 코드

 

int x = 1; //변수 x를 선언하고 1을 저장
int y = 2; //변수 x를 선언하고 2를 저장
int result = x + y; //변수 result를 선언하고 변수 x와 y를 더한 값을 저장
System.out.println(result); //콘솔에 출력하는 메소드 호출

int x= 1; int y = 2;
int result = 
x + y;
System.out.println(result);

 

둘다 같은 값 3 이 나온다.

public class RunStartemetExample{
    public static void main(String[] args){
       int x = 1; // 변수 x를 선언하고 1을저장 
       int y = 2; // 변수 y를 선언하고 2를 저장
       int result = x + y;   //변수 result를 선언하고 x와 y를 더한 값을 저장
       System.out.println(x + "+" + y+ "=" + result);   //콘솔에 출력하는 메소드 호출 
      }
}    //1+2 = 3
반응형