티스토리 뷰

수업/└Java

[CH00]Java 기초

onlyun 2022. 1. 29. 23:54

프로그래밍

컴퓨터가 일을 하도록 컴퓨터 언어로 명령을 만들고 컴퓨털 하여금 그 명령을 실행하도록 하는 것.

 

프로그램

컴퓨터에게 일을 시키는 명령의 집합

명령(소스 코드) 집합과 컴파일된 결과물까지 포함.

 

프로그래밍 언어

-절차 지향 : 순서 대로

-객체 지향 :  객체를 만들고 그것들끼리 유기적으로 연결

 

C : 메모리 직접 제어. 플래폼 호환성 없음.

└ C++ : 객체 지향

└ C# : 공장 자동화 같은 데서 많이 쓰임.

 

컴파일

소스 파일을 컴퓨터가 이해할 수 있는 기계어로 만드는 과정. 컴파일된 파일(오브젝트 파일)

(*소스 파일 : 프로그래밍 언어로 작성된 텍스트 파일)

 


자바(Java)

-자바가상머신(JVM) : 자바 바이트 코드를 실행하는 자바 가상 기계.

 플랫폼이 다른 걸 완충하는 역할. → 호환성 좋음.

 자바가상머신 자체는 플랫폼 종속적(플랫폼마다 각각 작성)

 

-WORA(Write Once Run Anywhere)

 한번 작성되어 컴파일된 것은 모든 플랫폼에서 바로 실행.

 바이트 코드이기 때문에(네트워크 때 추가 설명 예정)

 (네트워크 통과할 때 바이트 단위이기 때문에 2바이트, 3바이트일 경우 짤려서 나올 수도 있음)

 

-자바 특징

✔플랫폼 독립성 : 플랫폼 상관없이 어디서든 실행. 가상머신 덕분.

 

✔이식성 : 웹프로그램 만드는데 적합.

  가상머신 위에서 돌아가기 때문에 속도는 느린 편. 게임에선 사용하지 않음.

 

✔캡슐화 : 클래스 내에 모든 변수(필드), 함수(메서드) 구현.

  클래스 안에 새로운 클래스(내부 클래스) 작성 가능.

 

✔소스 파일(.java)과 클래스 파일(.class)

  소스 파일엔 여러 개의 클래스가 들어갈 수 있으나 public class는 1개여야 함.

  컴파일된 클래스(.class)엔 클래스 하나만 존재. 컴파일은 클래스별로 생성.

  (위치 변경하지 않았다면 bin 폴더에 클래스 파일 생성됨)

 

✔패키지 : 관련있는 클래스를 묶어서 관리

 

✔가비지 컬렉션

  할당 후 사용되는 않는 메모리(가비지)를 자동적으로 정래해줌.

  다만 자바가 자동으로 해주는 거라 개발자가 원하지 않는 타이밍에 할 수 있음.

  가비지 컬렉션이 시행될 때는 락(Lock)이 걸려 멈춤. 실시간 응용 시스템엔 부적합.

 

'수업 > └Java' 카테고리의 다른 글

[CH00]Scanner  (0) 2022.01.30
[CH02]변수와 자료형  (0) 2022.01.30
[실습문제4]클래스  (0) 2022.01.28
[Java]상속  (0) 2022.01.28
[Java]클래스와 생성자 복습_01.26  (0) 2022.01.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함