티스토리 뷰

자바 -> 영어 만큼 많은 사람이 사용하는 언어 -> 유명한 기술도서의 구현코드가 자바인 경우가 많음

 

1. 자바의 역사

- WORA: Write Once, Run Anywhere

- 컬렉션 프레임워크

- 제네릭, 오토박싱, 스프링 프레임워크

- 스트림, 함수형 프로그래밍

- JShell

- LTS -> 11, 17, 21, ...

 

2. 자바의 주요 특징

- OOP -> 캡슐화 -> 변수와 함수를 클래스 단위로 묶음 -> 모듈식 구조 -> 대규모 프로젝트에 유용

 -> 복잡도를 낮추고, 재사용이 가능하면서, 독립적이고 유연한 설계

 -> 코드가 장황하고 문법이 복잡함 -> 코딩 테스트에서는 OOP 개념을 사용할 일이 거의 없음

 -> OOP 보다는 오히려 절차적 방식이 유리함 -> 함수형 프로그래밍 활용은 더 유용함

- 접근 제어자 -> private(클래스), default(패키지), protected(상속+패키지), public(모두)

- 제네릭 -> 컴파일 타임 타입 검사 -> 런타임 에러 방지 -> 객체의 타입 안정성 높임-> <> 연산자

- 함수형 프로그래밍 -> 함수형 인터페이스 -> 람다 표현식 (파라미터)->내용 -> 익명 클래스 대체

- 스트림 API -> 시작+필터링+맵핑+정렬+...+취합/출력 -> 람다 표현식 + 메소드 참조

 -> 컬렉션 내부에서 파이프라인 처리 -> 비즈니스 로직을 깔끔하게 처리 가능

 

* OOP

- 캡슐화 -> 변수와 함수를 캡슐처럼 묶어서 외부와 분리 -> 클래스(필드+메소드) + 접근제어자 -> 모듈화, 느슨한 결합

- 추상화 -> 구현이 아닌 인터페이스에 집중 -> 추상화 레벨 통일 -> 낮은 복잡도, 내부 구현 개선

- 상속 -> 부모객체를 자식객체가 이어받음 -> 공통기능 재사용 + 추가 구현

- 다형성 -> 오버로딩 + 오버라이딩 -> 코드중복 줄임 + 변경과 확장에 유연한 설계

 

3. 자바의 도구

- JShell -> 자바의 REPL 환경 -> 콘솔에서 실시간으로 입력-실행-출력 결과확인 -> IDE 디버거가 더 유용하지 않나?

- WORA -> 소스코드-(컴파일러)-바이트코드-(JRE)-실행 -> JRE=JVM+라이브러리

 

4. JVM 기반 언어의 등장

- JVM -> 어디에서나 실행 -> 자바 바이트코드로 컴파일되는 다른 언어들 -> 파이썬, 루비, 스칼라, 그루비, 클로저, 코틀린

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/06   »
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
글 보관함