자바 기본

KH·2023년 3월 22일

Java

목록 보기
1/11

자바의 특징

  • 운영체제에 독립적이다.
    • 운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용 프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달
    • 자바로 작성된 프로그램은 운영체제에 독립적이지만 JVM은 운영체제에 종속적이라 여러 운영체제에서 설치할 수 있는 다양한 버전의 JVM을 제공
  • 객체지향언어이다.
    • 객체지향의 특징 상속,추상화,다형성,캡슐화가 잘 적용된 언어이다.
  • 자동 메모리 관리 (Garbage Collection)
    • 자바로 작성된 프로그램이 실행되면, 가비지컬렉터가 자동적으로 메모리를 관리해주기 때문에 따로 개발자가 관리할 필요 없다.
  • 네트워크와 분산처리 지원
    • 다양한 API를 통해 비교적 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발할 수 있도록 지원
  • 멀티쓰레드를 지원
    • 시스템과 관계없이 구현 가능하며 관련 라이브러리가 제공되므로 구현이 쉽다.
    • 쓰레드에 대한 스케줄링을 자바 인터프링터가 담당
  • 동적 로딩을 지원
    • 실행 시에 모든 클래스가 로딩되는 것이 아니라 필요한 시점에 클래스를 로딩하여 사용할 수 있다.
  • 단점
    • 속도문제: JVM의 기능이 향상됨으로써 상당히 개선되었다.

JVM

  • Java Virtual Machine
    • 자바를 실행하기 위한 가상 컴퓨터
    • 자바로 작성된 애플리케이션은 모두 JVM에서만 실행되기 때문에 자바 애플리케이션이 실행되기 위해서는 반드시 JVM이 필요하다.
    • 일반 애플리케이션은 OS를 거쳐 바로 하드웨어로 전달되는 반면 자바 애플리케이션은 JVM을 한번 더 거친다.
    • 그리고 하드웨어에 맞게 컴파일 된 상태가 아니고 실행 시에 해석되서 속도가 느림
    • JVM은 OS에 종속적이기 때문에 해당 OS에서 실행가능한 JVM이 필요하다

JDK

  • JDK를 설치하면, JVM과 JAVA API 외에 개발에 필요한 프로그램들이 설치된다.

자바

  • 자바에서 모든 코드는 반드시 클래스 안에 존재해야 한다.
  • public static void main(String[] args)는 main 메서드의 선언부이다.
  • 하나의 자바 애플리케이션은 반드시 main메서드가 있어야 한다.
  • 파일의 이름은 public class가 있으면 일치해야 한다.
  • 없으면 class 이름 모두 상관 없다.
  • 대소문자를 구분하기 때문에 모두 일치해야 한다.
  • 클래스의 이름은 항상 대문자로 시작한다.
  • 변수와 메소드의 이름은 항상 소문자로 시작한다.
  • 여러 단어로 이루어져 있으면 단어의 첫 글자를 대문자로
  • 상수의 이름은 모두 대문자로 한다, 여러 단어로 이루어져 있으면 '_'로 구분
  • 자료형은 크게 기본형과 참조형으로 나뉜다.
    • 기본형(primitive type): 논리형, 문자형, 정수형, 실수형 등 계산을 위한 실제 값 저장, 모두 8개
    • 참조형(reference type): 객체의 주소 저장, 8개의 기본형을 제외한 나머지 타입
  • 기본형
    • boolean,char,byte,short,int,long,float,double
    • boolean을 제외한 나머지 7개의 기본형은 서로 연산과 변환이 가능
    • float 보다는 double이 더 높은 정밀도를 가진다.
  • 상수
    • 변수와 달리 한번 값을 저장하면 다른 값으로 변경할 수 없다.
    • 'final' 키워드만 붙이면 된다.
    • 선언과 동시에 초기화를 하는 것이 좋다.
    • 이름은 대문자로 하는 것이 관례이다.
  • 리터럴
    • 값 그 자체, 상수의 다른 이름
    • 'L' or 'l'이 접미사로 쓰이면 Long 타입, 없으면 int 타입
    • 'F' or 'f'이 접미사로 쓰이면 float 타입, 'D' or 'd'는 double 타입
    • 16진수는 '0x' or '0X', 8진수는 '0'을 붙인다.
    • String str = "" -> 빈 문자열 허용, char ch = '' -> 에러
    • 문자열 + any type -> 문자열
  • 참조형

    출처: https://gbsb.tistory.com/6

  • 형변환
    • 변수 or 상수의 타입을 다른 타입으로 변환하는 것
    • 형변환 방법: (타입) 피연산자

0개의 댓글