일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- react #ref
- 인프런 #assertThat #오류
- git #삭제
- react #props #state
- 데이터집계
- MariaDB #Error
- 인텔리제이 #intelliJ #패키지생성 #package
- react #mini_project #study
- regexp_substr함수
- DTO #VO
- flutter #flutter개념 #특징 #장단점
- react #리액트 #JSX
- Django #장고 #에러해결방법 #templatetags
- blockscope
- db #mysql #mariadb
- JSP #Java #JQuery
- JPA #Springboot #java
- javascript #자바스크립트 #공백제거함수
- python #json
- kotlin #코틀린 #SpringDataJPA단점
- springboot #에러
- db #with절 #오라클 #oracle #쿼리 #query
- PostgreSQL
- oracle #
- django #db #오류
- decode함수
- react #event
- SQL
- Django #Static
- yarn #오류
- Today
- Total
감자의 개발공부 일지
[JAVA] JAVA의 특징 본문
JAVA의 특징에 들어가기 앞서서 객체지향 프로그래밍(Object Oriented Programming)에 대해 알아야 한다.
객체지향 프로그래밍이란?
컴퓨터 프로그래밍의 패러다임 중 하나로, 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 " 객체(Object)"들의 모임으로 파악하고자 하는것이다. 각각의 객체는 메시지를 주고 받고, 데이터를 처리할 수 있다. 객체 지향 프로그래밍은 프로그램이 유연하고 변경하기 쉬워서 대규모 소프트웨어 개발에 많이 사용된다. 또한 소프트웨어 개발과 보수를 간편하게 하며 보다 직관적인 코드 분석이 가능하다.
<JAVA의 특징>
1. 자바는 100% 객체지향 언어이다.
-> 객체를 만들기위해 클래스를 작성하고, 객체와 객체를 연결하여 프로그램을 만들어 낸다.
-> 객체지향 언어의 가장 큰 특징인 캡슐화, 상속성, 다형성을 지원한다.
2. 이식성이 높다.
-> 서로 다른 실행환경을 가진 시스템간에 프로그램을 옮겨서 실행할 수 있다.
3. 함수형 스타일 코딩
-> 함수형 프로그래밍은 대용량 데이터의 병렬처리와 이벤트 지향 프로그래밍에 적합하다.
자바는 이를 위해 람다식(Lambda Expressin)을 JAVA8부터 지원한다.
람다식을 사용하면 코드가 간결해진다는 장점이 있다.
4. Garbage Collector
-> 자바는 C++과 다르게 메모리를 직접 관리한다. 객체를 생성할때 자동으로 메모리 영역을 찾아 할당하고,
사용이 끝나면 Garbage Collector를 실행해 자동으로 사용하지 않는 객체를 제거해준다.
이러한 점에서 개발자는 메모리 관리 대신 코드 작성에 집중을 할 수 있다는 장점이 있다.
5. 다양한 애플리케이션 개발 가능
-> 자바는 콘솔 프로그램, 서버용 웹 애플리케이션, 안드로이드 앱 등 다양한 운영체제에서 실행되는 프로그램을 개발할 수 있다.
6. 멀티 스레드
-> 하나의 프로그램이 동시에 여러 작업을 처리하거나 대용량 작업을 빠르게 처리하기 위해
병령처리를 하려면 멀티 스레드 프로그래밍이 필요하다. 자바는 스레드 생성 및 제어와 관련된 라이브러리
API를 제공하기 때문에 실행되는 운영체제와 관련없이 멀티 스레드를 쉽게 구현이 가능하다.
7. 동적 로딩
-> 자바는 여러 객체가 서로 연결되는데 객체는 클래스로부터 생성된다.
애플리케이션이 실행될 때 모든 객체가 생성되지 않고, 객체가 필요한 시점에 클래스를 동적 로딩해 객체를 생성한다.
유지보수가 발생해도 해당 클래스만 수정하면 되기 때문에 전체 컴파일을 하지 않아도 되기 때문에 쉽고 빠르게 진행이 가능하다.
8. 오픈소스 라이브러리
-> 자바는 오픈소스 언어이기 때문에 자바에서 사용하는 라이브러리 또한 오픈소시가 많다.
고급 기능을 작성하려면 시간과 노력이 많이 소요되지만 검증된 오픈소스를 사용하면 개발기간을 단축하고 안정성이
높은 애플리케이션을 쉽게 개발할 수 있다는 장점이 있다.
📕 참고
이것이 자바다 / 신용권 / 한빛미디어(2015)
'JAVA' 카테고리의 다른 글
[Java] JSP, J Query, Java의 차이점 (0) | 2023.01.04 |
---|---|
[JAVA] 연산자 (0) | 2022.07.12 |
[JAVA] 변수 ~ 타입변환 (0) | 2022.07.11 |