[자바] 기초문법 정리(231227~)

brand_mins·2023년 12월 27일

Java

목록 보기
26/47
학원에서 자바를 배웠으나 기본기를 탄탄하게 하기 위해서
인프런 강의 - 김영한의 자바 입문을 참고하여 강의시청

1. 자바 프로그램 실행

public class HelloJava {

    public static void main(String[] args) {
        System.out.println("hello Java");
    }
}

1) 코드 분석

  • public class HelloJava
    • HelloJava.java라는 파일을 만들었다고 이해하기
    • 파일명과 클래스명 일치
  • public static void main(String[] args)
    • main 메서드 함수
    • 자바는 main(String[]args) 메서드를 찾아 프로그램 실행
  • System.out.println("hello Java");
    • 값을 콘솔에 출력하는 기능
    • 문자열 쌍따옴표로
    • 자바는 세미콜론으로 마지막임을 표시해야함. (필수)

2. 주석

  • 소스코드가 복잡하다면 소스코드를 이해를 돕기 위한 설명
  • 자바는 주석이 있는 곳 무시
* TIP *
- 인텔리제이의 psvm을 입력하면 메인메서드가 출력된다
- 인텔리제이의 sout을 입력하면 콘솔창 출력기능이 나옴

1) 주석 종류

  1. 한줄 주석
- // 기호로 시작.
- 이 기호 이후의 모든 텍스트는 주석 처리
  1. 여러줄 주석
- /*로 시작하고 */로 끝낸다. 이 사이의 모든 텍스트 주석처리

3. 자바란?

  • 자바의 표준 스펙에 따라 오라클 Open JDK, Eclipse, Amazon의 각 프로그램들이 실행된다.
  • 인텔리제이의 OPEN JDK를 사용하였다가 Amazon Corretto 자바로 변경해도 대부분 문제없이 작동

1) 자바 표준 스펙

  • 표준 스펙을 기반으로 여러 회사에서 실제 작동하는 자바
  • 자바 표준 스펙은 자바 커뮤니티 프로세스를 통해 관리

2) 다양한 자바 구현

  • 여러 회사에서 자바표준스펙에 맞춰 실제 작동하는 자바프로그램 개발

3) 컴파일과 실행

출처: 김영한의 자바 입문 교재

  • Hello.java는 개발자들이 소스코드를 작성한 파일.
  • 자바 컴파일러를 사용해서 소스코드 컴파일
    • 자바가 제공하는 javac라는 프로그램 실행
    • .java -> .class 파일 생성
    • 즉, 자바 코드는 바이트코드로 변환되며 자바가상머신(JVM)에서 더 빠르게 실행되고 최적화하며 문법 오류를 찾아냄.

4) 자바와 운영체제 독립성

  • 일반적인 프로그램은 윈도우 OS에만 실행되도록 하고 있다.
  • 하지만 자바 프로그램은 자바가 설치된 모든 OS에서 설치가능
  • 즉, 자바 개발자는 자바에 맞추어 개발

4. 정리

* 기술면접에 필요할 만한 항목들 아래에 정리 *
1. 자바의 특징
- 객체지향언어
- 기본 자료형을 제외한 모든 요소들이 객체로 표현
- 캡슐화, 다형성, 상속이 잘 적용된 언어

1-1 자바의 장점
- JVM 위에 동작되기 때문에 운영체제 독립적
- 가비지컬렉터를 통한 자동적인 메모리 관리 가능

1-2 자바의 단점
- JVM 위에서 동작하기 때문에 실행속도가 상대적으로 느림
- 다중 상속이나 타입에 엄격하다

-------------------------------------------------------
2. JVM의 역할에 대해 설명
- JVM은 스택 기반으로 동작.
- 바이트코드를 OS에 맞게 해석해주는 역할
- 가비지컬렉션을 통해 자동적인 메모리 관리 가능
-------------------------------------------------------
3. 자바 컴파일 과정
- 개발자가 java파일 생성하여 코드를 작성한다.
- 그리고, 해당 소스코드 파일을 컴파일러로 실행하면 
javac 명령어를 통해 바이트코드(.class)가 실행
- 자바 코드는 바이트 코드로 변환되며 컴퓨터가 읽을 수 있는 기계어로 해석
profile
IT 개발자가 되기 위한 기록

0개의 댓글