[Java] Java의 정석 | Chapter 01 자바를 시작하기 전에

숙취엔 꿀물.·2023년 11월 23일

Java

목록 보기
1/13
post-thumbnail

⛳ Java의 정석 - 공부 이전에,,

우선 앞으로 하게 될 Java 공부는 Java의 정석 책을 기본으로 공부하는 것임을 알립니다. 근데 그 중에서 기존에 완전히 알고 있던 것은 제 블로그에 내용이 없을수도 있습니다. 모르는 것이나 다시 기억해야할 것 같은 항목만 기억하기 위해서 기록하기 때문에 하하

Chapter는 기본적으로 책을 토대로 갈 예정입니다.

Chapter 01. 자바를 시작하기 전에
Chapter 02. 변수(Variable)
Chapter 03. 연산자(Operator)
Chapter 04. 조건문과 반복문
Chapter 05. 배열(Array)
Chapter 06. 객체지향 프로그래밍 Ⅰ
Chapter 07. 객체지향 프로그래밍 Ⅱ
Chapter 08. 예외처리(Exception Handling)
Chapter 09. java.lang 패키지와 유용한 클래스
Chapter 10. 날짜와 시간 & 형식화
Chapter 11. 컬렉션 프레임웍 (1)
Chapter 11. 컬렉션 프레임웍 (2)
Chapter 12. 지네릭스, 열거형, 애너테이션
Chapter 13. 쓰레드(Thread)
Chapter 14. 람다와 스트림
Chapter 15. 입출력(I/O)
Chapter 16. 네트워킹(Networking)

👉 1. 자바(Java Programming Language)

1.3 자바언어의 특징

  1. 운영체제에 독립적이다.
  2. 객체지향언어이다.
  3. 비교적 배우기 쉽다.
  4. 자동 메모리 관리(Garbage Collection)
    • 자바로 작성된 프로그램이 실행되면, 가비지컬렉터(garbage collector)가 자동적으로 메모리 관리를 해줌
    • 없었다면 프로그래머가 사용하지 않는 메모리를 체크하고 반환하는 일을 수동적으로 처리해야 함
  5. 네트워크와 분산처리를 지원한다.
  6. 멀티쓰레드를 지원한다.
  7. 동적 로딩(Dynamic Loading)을 지원한다.
    - 실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다.

1.4 JVM(Java Virtual Machine)

  • 자바를 실행하기 위한 가상 기계(컴퓨터)

  • 자바로 작성된 애플리케이션은 모두 JVM에서만 실행된다.

  • Java애플리케이션은 일반 애플리케이션에 비해 JVM을 한 번 더 거치기 때문에, 또 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석(interpret)되기 때문에 속도가 느리다.
    -> 요즘은 JIT컴파일러와 향상된 최적화 기술로 속도의 격차가 많이 줄었다고..

  • OS와 하드웨어에 독립적이라 다른 OS에서도 프로그램의 변경없이 실행 가능
    -> 단, JVM은 OS에 종속적이므로 해당 OS에서 실행가능한 JVM이 필요



👉 3. 자바로 프로그램 작성하기

3.2 자주 발생하는 에러와 해결방법

  1. cannot find symbol 또는 cannot resolve symbol

    • 지정된 변수나 메서드를 찾을 수 없다는 뜻
      -> 철자 뿐 만 아니라 대소문자의 일치여부도 꼼꼼하게 확인할 것
  2. ';' expected

    • 모든 문장의 끝에는 ';'을 붙여주어야 함
  3. Exception in thread "main" java.lang.NoSuchMethodError: main

    • 클래스 내에 main 메서드가 존재하지 않거나, 선언부 'public static void Main(String[] args)'에 오타가 존재하는 경우 발생
      -> 제대로 확인할 것 !
      -> args는 매개변수의 이름일 뿐임
  4. Exception in thread "main" java.lang.NoClassDefFoundError: Hello

    • 클래스의 철자 및 파일 유무를 제대로 확인할 것
    • 혹은 classpath의 설정이 바르게 되었는지 다시 확인
  5. illegal start of expression

    • 문장에 문법적 오류가 있다는 뜻
  6. class, interface, or enum expected

    • 필요한 키워드가 존재하지 않거나, 괄호의 개수가 일치하지 않는 경우 발생

👉 참고

저는 그냥 책만 보고 공부하긴 하지만 필요한 사람이 있을까봐 남깁니다.

profile
단단하게 오래가고자 하는 백엔드 개발자

0개의 댓글