자바의 특성
∘ 플랫폼 독립성
-플랫폼이 독립적, WORA
-자바 가상 기계는 플랫폼에 종속적으로 들어감
-하드웨어, 운영체제에 종속되지 않는 바이트 코드로 플랫폼 독립성
∘ 객체 지향
-캡슐화, 상속, 다형성 지원
∘ 클래스로 캡슐화
-자바의 모든 변수나 함수는 클래스 내에 선언
-클래스 안에서 클래스(내부 클래스) 작성 가능
∘ 소스(.java)와 클래스(.class) 파일
-클래스 단위로 계속 작업함
-소스 파일을 컴파일해서 빌드하면 .class 파일로 최종적으로 생성됨
-하나의 소스 파일에 여러 클래스 작성 가능
-public 클래스는 하나만 가능
-소스 파일의 이름과 public으로 선언된 클래스 이름은 같아야 함
-클래스 파일에는 하나의 클래스만 존재
∘ 클래스 단위로 만들어진 4개의 클래스를 포함하는 소스 파일이 컴파일을 거치면 4개의 클래스 파일로 각각 생성됨
∘ 실행코드 배포
-하나의 클래스 파일에 2개 이상의 main() 메소드가 있을 수 없음
∘ 패키지
-폴더 개념
∘ 멀티스레드
-스레드는 작동 순서 같은 거
-멀티스레드는 스레드를 멀티로 작업할 수 있는 것, 여러 개를 동시에 제어하면서 움직일 수 있다는 것
∘ 가비지 컬렉션
-메모리를 자기가 알아서 만들고 자기가 알아서 반환함
∘ 실시간 응용프로그램에 부적합
-가비지 컬렉션 실행 때문
-가비지가 언제 돌아갈지 모름. 실행 중간에 만약에 문제가 생겨서 가비지가 돌아가면 멈춰버림. 그래서 실시간 응용프로그램에서 잘 안 쓴다고 하지만 이 문제를 해결해서 현재는 상당수의 응용프로그램에서 자바를 쓰고 있음. 우리가 아는 대부분의 게임이 자바로 되어 있음.
∘ 자바 프로그램은 안전
∘ 프로그램 작성 쉬움
∘ 실행 속도 개선을 위한 JIT 컴파일러 사용
∘ public으로 클래스 선언하면 다른 클래스에서 접근 가능
∘ main() 메소드
-자바는 main()에서 실행 시작
-public static void로 선언
String[] args로 실행 인자를 전달 받음
∘ 메소드
-C/C++에서의 함수를 메소드로 지칭
-클래스 바깥에 작성할 수 없음
∘ ;으로 문장의 끝을 인식
∘ println()
-여러 타입의 데이터 출력 가능
-출력 후 다음 행으로 커서 이동
∘ 타입 변환
'Back-End > Java' 카테고리의 다른 글
StringBuilder는 변경 가능한 문자열 (0) | 2024.05.14 |
---|---|
스프링 소수 타입 (0) | 2024.01.23 |
JAVA 프로그래밍 및 실습 1주차 (0) | 2022.04.05 |