BlueHarmel
BlueHarmel Devlog
BlueHarmel
전체 방문자
오늘
어제

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (330)
    • Book (11)
    • Dev (29)
      • ArtCon (0)
      • ESTsoft 오르미 (29)
    • Study (290)
      • Web (18)
      • AWS (2)
      • 알고리즘 (1)
      • GameDev (1)
      • 정보처리기사 (201)
      • English (1)
      • Mathematics (24)
      • 머신러닝 (7)
      • 딥러닝 (10)
      • 네트워크 보안 (5)
      • R (4)
      • 컴퓨터 네트워크 (6)
      • 데이터베이스 (8)
      • 데이터 통신 (0)
      • 운영체제 (2)
      • TIL (0)
    • Project (0)
      • 개인 (0)
      • 단체 (0)

인기 글

hELLO · Designed By 정상우.
BlueHarmel

BlueHarmel Devlog

Dev/ESTsoft 오르미

Java 기초

2024. 2. 22. 09:51

1. 자바의 특징

  • 설명 보기
    • 객체 지향 언어이다
      • 객체 지향 프로그래밍 : 객체들을 먼저 만들고 그 객체들을 연결하여 완성하는 기법(OOP)
    • 메모리를 자동으로 관리
      • C++ 처럼 개발자가 직접 메모리에 접근할 수 없음
      • 메모리는 자바가 직접 관리 (Garbage Collector)
    • 풍부한 라이브러리
      • 자주 쓰이는 기능들을 라이브러리로 제공한다
    • 운영체제에 독립적
      • 서로 다른 실행환경을 가진 시스템 간에 프로그램들을 옮겨 실행할 수 있다.
      • 가상의 운영체제 역할을 하는 JVM(Java Virtual Machine) 이 있기 때문에 가능하다.

2. JVM 이란?

  • 설명 보기
    출처 : 오르미4기 조성연 강사님
    • 자바를 실행하기 위한 가상머신
    • 실제 운영체제를 대신해서 자바 프로그램을 실행하는 가상의 운영체제
    • 자바는 JVM이 OS 위에 있기 때문에 운영체제에 독립적인 특징을 가진다.
    JVM의 구조 | 출처 : 오르미 4기 조성연 강사님
    RunTime Data 영역 상세 | 출처 : 오르미 4기 조성연 강사님
    • 개발자가 Java 코드를 작성하면 그 이후부터는 Java compiler, 가상 머신이 동작하며 프로그램이 실행된다.

3. 자바 파일 실행 과정

  • 설명 보기
    자바 코드 실행과정 | 출처 : 오르미 4기 조성연 강사님
    1. 확장자가 .java인 자바 소스파일을 작성
    1. 소스파일을 컴파일러로 컴파일
    1. 확장자가 .class인 바이트 코드(클래스 파일)가 생성됨
    1. 클래스 파일이 JVM에 의해 해석
    1. JVM(Class Loader)이 해당 운영체제에 맞게 기계어로 변역

    자바의 장점

    • Write Once, run anywhere : 한번 작성하면 어디서든 실행된다.

    자바의 단점

    • 한번의 컴파일링으로 실행 가능한 기계어가 만들어지지 않고, JVM에 의해 기계어로 번역되고 실행되기 때문에 C,C++ 같은 컴파일 단계에서 만들어지는 완전한 기계어보다 속도가 느리다.
      • JVM 내부의 기계어로 빠르게 변환해주는 최적화된 JIT 컴파일러를 통해 차이가 줄어들고 있다.

4. 주석과 실행문

  • 설명 보기

    주석

    • // (행 주석) : //부터 라인 끝까지 주석으로 처리
    • /* ~*/ (범위 주석) : /* 와 */ 사이 범위를 주석으로 처리

    실행문

    • 변수 선언, 값 저장, 메소드 호출에 해당하는 코드
    • 컴파일러는 세미콜론이 나올 때 까지 실행문이 계속해서 연결된 것으로 보기 때문에 한 실행문이 여러줄에 걸쳐 있거나 한 줄에 여러 개의 실행문이 있어도 된다.
    int index = 1; int loop = 2;
    int result = 
    		index + loop;
    System.out.println(result);
    int index = 1;
    int loop = 2;
    int result = index + loop;
    System.out.println(result);

5. 자바 코드 살펴보기

  • 설명 보기
    • 자바 코드 구조
      • 클래스 블록
        • 첫 번째 줄에 ‘class 클래스명’ 으로 선언되어 있는, 코드의 가장 바깥쪽 부분
        • 클래스명 : 영문으로 지어야하고, 첫번째 철자는 대문자
        • 클래스명 == 소스파일명
        • 클래스 블록은 여러 메서드 블록을 품고 있다.
      • 메서드 블록 : “접근제어자 static 리턴 자료형 메서드명(입력자료형 매개변수)”으로 선언되어있는, 메서드 영역
        • 접근제어자 : [public | private | protected]
        • static : 해당 클래스에 대한 인스턴스 선언 없이도 클래스명.메서드명 형태로 사용가능
        • 리턴 자료형 : 메소드가 실행된 후 리턴되는 값의 자료형
          • 필수적인 부분이므로 없다면 void를 사용해 없다는것을 표기해줘야 한다.
        • 메서드명
          • 보통 영문
          • 해당 메서드가 하는 기능을 이름으로 한다
          • 주로 맨 앞에 동사가 온다
        • (입력자료형 매개변수)
        • 명령문(실행문)

    • 클래스 내부 구성
    • 코딩 컨벤션
      • PascalCase : 단어의 첫글자를 대문자로 표기
      • camelCase : 첫단어는 소문자로 나머지 단어의 첫글자는 대문자로 표기
      • kebab-case : 모든 단어를 소문자로 표기, 단어를 대시(-)로 연결
        • 프로젝트 이름으로 권장됨
      • snake_case : 모든 단어를 소문자로 표기, 단어를 언더바(_)로 연결
      • UPPER_CASE : 모든 단어를 대문자로 표기하고, 단어를 언더바(_)로 연결
      구분PythonJavaScript & Java기타
      PascalCase클래스, Exception클래스, Exception-
      camelCase-변수, 함수, 메소드-
      snake_case변수, 함수, 메소드--
      kebab-case--파일, 폴더명
      UPPER_CASE상수변수상수변수-

6. 추가할 것

Q. 한 자바 파일에 클래스를 여러개 넣으면 어떻게 되는가?

A. https://gsgdvxhx.tistory.com/3

네임 스페이스 : https://imasoftwareengineer.tistory.com/71

'Dev > ESTsoft 오르미' 카테고리의 다른 글

연산자 / 조건문과 반복문  (0) 2024.02.22
변수  (0) 2024.02.22
강사님 코드리뷰  (0) 2024.02.22
공부한 기술들  (0) 2024.02.22
JavaScript3 (DOM,AJAX)  (0) 2024.02.22
    BlueHarmel
    BlueHarmel
    Interested in Mathematics, Foreign Language, and "Programming"

    티스토리툴바