선택한 언어의 특성을 살려서 코드짜기/프로젝트 하기
(예시) 자바를 선택했다면, 다형성의 성격을 잘 드러나게 코드짜기
코딩테스트를 칠 때, 다른 언어를 쓴다면 그 이유를 명확히 가지기.
(예시) 파이썬- 인터프리터라서 빠름. 많은 문법 제공
[인터프리터 vs 컴파일러]
자바는 하이브리드(인터프리터, 컴파일러)의 언어이다.
인터프리터: 한 줄씩 번역(동시 통역)
컴파일러: 한 번에 번역(통번역), 기다리는 시간이 길지만, 읽는 시간은 짧다.
JVM : OS 상관없이 코드가 돌아가게 해줌 (호환 걱정X)
자바 어필하기 위해 한 번쯤 자바의 동작과정, JVM 구조 뜯어보기
1. Jvm 읽기 전에 컴파일 먼저 해서 소스코드 통번역
2. Jvm 안에 들어오면 인터프리터로 읽음
Class Loader 부분 조금 더 자세히 보기
컴파일한다: 소스코드를 번역한다
빌드한다: build, “내 소스코드를 실행하기 위한 모든 과정”
cf. 빌드 도구(ant, maven, gradle)
>> 컴파일 단계는 빌드(과정)에 포함된다.
>> 오류 잡아주는 역할에서의 컴파일은 포함X, 번역 역할에서의 컴파일은 포함O
메인 메소드는 하나의 프로젝트에 1개여야 한다.
>> 2개 이상일 때 해킹의 위험이 있다.
>> 유지보수 (요구사항들에 따라 계속 관리)
메인 메소드가 있는 클래스: 실행용 클래스
[ JDK vs JRE ]
JDK 자바 개발 키트
JRE 자바 런타임 환경 (자바를 실행하는 환경)
>> 요즘은 JDK에 JRE가 깔려 있다. = RE는 JDK에 포함되어 있다.
서버 한 대에 JDK 여러 버전을 설치할 수 있다.
지금 내 컴퓨터 서버할 수 있다.
서버 : Serve(요청받아서 제공) + -er
서버는 24시간 활성화되어 있어야 한다.
[라이브러리 vs 프레임워크]
라이브러리: 도서관, 내가 선택해서 (기존에 있던 필요한 기능들을) 빌려서 쓸 수 있는 곳
- 표준화되어 있지 않을 수 있다.
프레임워크: 틀+일, 틀 안에서 일한다
, 하나의 서비스를 완성할 수 있는데 필요한 것들이 담아져 있는 틀
- 표준화되어 있다.
- 유지보수가 쉽다.
- 보안이 좋다.
- 제공되지 않는 기능을 쓰기 어렵다.
Spring Framework : 웹 서비스를 제작하는데, 필요한 것들이 있는 틀
- 프론트와 백을 분리
- 객체 관리
[JVM]
라이브러리와 프레임워크의 차이 쉽게 설명할 줄 알기 -> 면접 준비도 된다.
C언어는 OS에 맞게 따로 설정해야 한다.
자바는 JVM를 사용하여 OS에 종속되지 않는다.
[운영체제]
운영체제는 하고 싶은 작업을 할 수 있게 도와준다.
, 사용자가 하드웨어를 건들이지 않고 여러 어플리케이션을 사용할 수 있게 한다.
GUI; 그래픽으로 유저에게 소프트웨어를 전달/연결
운영체제도 소프트웨어이다.
커널이 중간번역을 도와준다. 커널은 하드웨어에 가깝게 일을 해주는 역할을 한다.
운영체제는 하드웨어를 중간번역하는 커널과 상호작용한다.
'패스트캠퍼스 데브캠프 : 남궁성의 백엔드 개발 3기' 카테고리의 다른 글
비기너반 강의 복습 3 | 생성자, 초기화, 메소드, 오버라이딩 vs 오버로딩, 어노테이션과 컴파일러, JDK와 JAR (0) | 2025.01.20 |
---|---|
비기너반 강의 복습 2 | 구현 vs 개발, 소프트웨어 개발 프로세스, 소프트웨어 공학 설계, TDD, 변수, 객체 지향이란, 객체와 클래스 (1) | 2025.01.18 |
MyPoint클래스, MyVector클래스 연습문제 회고 - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.17 |
자바 목차 테스트 (2) | 2025.01.15 |
자바의 정석 챕터6, 7 연습문제 회고 - 패스트캠퍼스 백엔드 부트캠프 3기 (2) | 2025.01.10 |