Chap1_JavaStudy
1장의 주요 내용 정리
기계어란?
기계가 이해하는 유일한 언어로, 2진 숫자인 0과 1로 표현된다. 컴퓨터는 태어날떄 부터 지금까지도 0과 1밖에 이해하지 못한다. 기계어는 서로 다른 기종에선 호환이 불가능하다.
어셈블리어란?
기계어 명령어와 일상 용어를 일대일로 매칭하는 코드를 만들어, 그 매칭 코드표를 어셈블리라고 불렀다. 어셈블리어 또 한 기계어와 마찬가지로 CPU별로 각자의 어셈블리어(Assembly Language)도 달랐다. 어셈블리어를 기계어로 번역해주는 소프트웨어를 어셈블러(Assembler)라고 한다.
JAVA란?
객체 지향 프로그래밍 언어(Object-Oriented Programming, OOP)로 1991년 제임스 고슬링을 포함한 썬 마이크로 시스템즈의 연구원 들에 의해 Interactive TV용 프로그램 작성을 위해 처음 개발되었다.
어셈블리어 vs C vs JAVA
어셈블리어 | C | JAVA | |
---|---|---|---|
목적 파일 |
어셈블러로 기계어 생성 | 컴파일러로 해당 운영체제용 기계어 생성 | 기종이 몇 개든 단 하나의 JVM용 기계어 생성 |
기계어 비교 |
기계어랑 1:1 대응하는 니모닉 | 기계어와 m:n 대응하는 수학적 기호 | 기계어와 m:n 대응하는 수학적 기호 |
비고 |
기종별 어셈블러 필요 | 기종별 컴파일러 필요 | 단 하나의 컴파일러만 필요 기종별 JRE 세팅 필요 (한번만 설치해주면 됨) |
저자 ‘김종민’님의 스프링 입문을 위한 자바 객체지향의 책의 표내용
JAVA의 장단점
- 자바의 장점
- 객체지향 언어이다.
- 운영체제에 독립적이다.
- 다중 쓰레드 제공한다.
- 많은 오픈소스 프레임워크로 생산성 증가 또는 유지보수 비용 절감 가능하다.
- 자바의 단점
- JVM(JAVA Virtual Machine)을 사용하여 CPU자원과 더 많은 물리적 메모리 소비로 인해 속도가 느리다. ( 현재는 많이 개선됨 )
- 처리 속도가 중요한 애플리케이션에는 적합하지 않음.
용어정리
- 메타포(Metaphor)
- 비유법, 다른 유사한 것에 빗대어 잘 모르는것을 설명하고자 하는 방법이다.
- 니모닉(Mnemonic)
- 어떤 것을 기억하는 데 쉽게 하도록 도움을 주는 것, 또는 쉽게 기억되는 성질, 니모닉은 재사용이 필요할 떄 사람의
기억을 돕기 위해 명확하게 선택된 상장의 조합을 사용하는 것을 말한다.
- 어떤 것을 기억하는 데 쉽게 하도록 도움을 주는 것, 또는 쉽게 기억되는 성질, 니모닉은 재사용이 필요할 떄 사람의
- CBD(Componet Based Devleopment)
- 컴포넌트 기반 개발, 애플리케이션을 의미 있는 단위로 구분하고 그 단위를 하나하나씩 부품으로 개발해 소프트웨어 제품을 완성시키는 방법론이다.
- SOA(Service Oriented Architecture)
- 서비스 중심 구조 또는 서비스 지향 구조, 개발자 입장에서의 개발이 아니라 실제 현실의 업무를 기준으로 개발하자는 사상이다.
참고자료
저자 ‘김종민’님의 스프링 입문을 위한 자바 객체 지향의 원리와 이해