프로그래밍/겁나 쉽게 쓴 JAVA 설명서

[기술] 자바 역사, 특징, 장단점

tonystark100 2024. 3. 2. 15:25

목차

    반응형

    자바의 역사

    반응형

    자바는 1991년 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어입니다. 처음에는 가전제품 내에 탑재해 동작하는 프로그램을 위해 개발되었지만, 1995년에 발표되면서 웹 애플리케이션 개발에 널리 사용되기 시작했습니다.


    자바는 C, C++에서 물려받은 풍부한 유산을 선별하여 채택하였고, 가상 머신이라는 개념을 도입하여 플랫폼 독립적인 언어로 만들었습니다. 자바는 한 번 작성하면 어느 곳에서나 실행할 수 있다는 "Write Once, Run Anywhere"라는 슬로건을 내세웠습니다


    자바는 1997년 ISO/IEC JTC1 표준화 그룹과 접촉하여 정식 승인을 받으려 했으나, 곧 이 프로세스에서 철수했습니다. 대신 자바 커뮤니티 프로세스라는 자체적인 표준화 기구를 통해 자바의 발전을 이끌었습니다


    자바는 2006년에 대부분의 소스 코드를 GPL 라이선스로 공개하였고, 2009년에 썬 마이크로시스템즈가 오라클에 인수되면서 자바의 권리와 유지보수도 오라클로 넘어갔습니다

    자바는 현재 버전 20까지 출시되었으며, 여전히 세계에서 가장 많이 사용되는 프로그래밍 언어 중 하나입니다.

     

    자바는 웹 개발, 모바일 개발, 데스크톱 개발, 게임 개발, 빅데이터 분석, 인공지능 등 다양한 분야에서 활용되고 있습니다. 자바는 지속적으로 변화하고 발전하며, 새로운 기술과 트렌드에 적응하고 있습니다. 자바는 앞으로도 우리의 생활과 사회에 많은 영향을 미칠 것입니다.

     

     

     

    로또로 화성 - Google Play 앱

    간편한 로또 번호 생성 및 QR 결과 확인 어플입니다.

    play.google.com

     

    자바의 특징

    객체 지향 언어

    자바는 객체 지향 패러다임을 따르는 언어로, 실세계의 사물과 개념을 객체로 표현하고, 객체 간의 상호작용을 통해 프로그램을 구현합니다. 객체 지향 언어는 신뢰성 있는 소프트웨어를 손쉽게 작성할 수 있으며, 코드 재사용과 유지보수용이합니다.

     

    플랫폼 독립적

    자바는 컴파일된 코드가 플랫폼 독립적인 바이트코드라는 특수한 바이너리 형태로 변환됩니다. 바이트코드를 실행하기 위해서는 자바 가상 머신이라는 특수한 가상 머신이 필요한데, 이 가상 머신은 자바 바이트코드를 어느 플랫폼에서나 동일한 형태로 실행시킵니다. 때문에 자바로 개발된 프로그램은 CPU나 운영체제의 종류에 관계없이 JVM을 설치할 수 있는 시스템에서는 어디서나 실행할 수 있습니다.

     

    다양한 라이브러리

    자바는 풍부하고 다양한 라이브러리를 제공합니다. 라이브러리란 미리 작성된 코드의 모음으로, 개발자가 필요한 기능을 쉽게 사용할 수 있게 해 줍니다. 자바는 기본적인 자료구조, 네트워크, 데이터베이스, 그래픽, 보안 등 다양한 분야의 라이브러리를 제공하며, 외부에서 개발된 수많은 오픈 소스 라이브러리도 존재합니다.

     

    멀티스레드 지원

    자바는 멀티스레드를 지원하는 언어입니다. 멀티스레드란 하나의 프로세스 내에서 여러 개의 작업을 동시에 수행하는 것을 말합니다. 예를 들어, 음악을 들으면서 메일을 보내거나, 게임을 하면서 채팅을 하거나 하는 것이 가능합니다. 이것은 자바가 다른 언어보다 빠르고 강력하다는 것을 의미합니다. 자바는 스레드를 쉽게 생성하고 관리할 수 있는 API를 제공하며, 가비지 컬렉션과 같은 자동 메모리 관리 기능도 지원합니다. 멀티스레드를 사용하면 프로그램의 성능과 효율성을 향상할 수 있습니다.

     

    자바의 장단점

    장점

    1. 자바는 어디서든 실행할 수 있습니다.

    자바로 만든 프로그램은 컴퓨터나 스마트폰, 태블릿 등 다양한 기기에서 동작할 수 있습니다. 이것은 자바가 가상 머신이라는 특별한 기술을 사용하기 때문입니다. 가상 머신은 자바 프로그램을 어떤 기기에서도 같은 방식으로 실행시켜 줍니다. 이것은 자바가 다른 언어보다 편리하고 유연하다는 것을 의미합니다.


    2. 자바는 신뢰성 있는 프로그래밍 언어입니다.

    자바는 객체 지향이라는 방식으로 프로그램을 만듭니다. 객체 지향이란 실제 세계의 사물과 비슷하게 프로그램을 구성하는 것입니다. 예를 들어, 자동차라는 객체는 바퀴, 엔진, 핸들 등의 부품으로 이루어져 있고, 각 부품은 자신의 역할을 수행합니다. 이렇게 객체 지향으로 프로그램을 만들면 오류가 적고, 수정이 쉽고, 재사용이 가능합니다. 이것은 자바가 다른 언어보다 안정적이고 효율적이라는 것을 의미합니다.

     

    3. 자바는 많은 사람들이 사용합니다.

    자바는 세계에서 가장 많이 사용되는 프로그래밍 언어 중 하나입니다. 자바는 많은 기업과 개발자들이 선택하고 있습니다. 자바는 많은 정보와 자료가 있으며, 많은 사람들이 서로 도와주고 있습니다. 이것은 자바가 다른 언어보다 배우기 쉽고, 활용하기 좋다는 것을 의미합니다.

     

    단점

    1. 자바는 실행 속도가 느립니다. 

    자바는 가상 머신을 통해 프로그램을 실행합니다. 가상 머신은 편리하지만, 속도가 느려집니다. 가상 머신은 자바 프로그램을 해석하고 실행하는 과정이 필요하기 때문입니다. 이것은 자바가 다른 언어보다 느리고, 부하가 많다는 것을 의미합니다.


    2. 자바는 메모리 관리를 직접 할 수 없습니다. 

    자바는 가비지 컬렉션이라는 기능을 사용합니다. 가비지 컬렉션은 사용하지 않는 메모리를 자동으로 정리해 주는 기능입니다. 가비지 컬렉션은 편리하지만, 제어할 수 없습니다. 가비지 컬렉션은 언제 어떻게 작동할지 예측하기 어렵고, 작동하는 동안 프로그램이 멈출 수 있습니다. 이것은 자바가 다른 언어보다 불안정하고, 비효율적이라는 것을 의미합니다.


    3. 자바는 기본 자료형이 객체가 아닙니다. 

    자바는 객체 지향 언어입니다. 하지만 자바는 기본 자료형과 참조 자료형을 구분합니다. 기본 자료형은 정수, 실수, 문자, 논리 등의 간단한 값입니다. 참조 자료형은 배열, 문자열, 클래스 등의 복잡한 값입니다. 기본 자료형은 객체가 아니므로, 객체 지향의 장점을 살리기 어렵습니다. 예를 들어, 기본 자료형은 메서드나 속성을 가질 수 없습니다. 이것은 자바가 다른 언어보다 일관성이 떨어지고, 혼란스럽다는 것을 의미합니다.

     

     

     

     

    ** 이 글이 좋았다면 좋아요와 구독을 눌러주세요. **

    반응형

    '프로그래밍 > 겁나 쉽게 쓴 JAVA 설명서' 카테고리의 다른 글

    자바 변수와 데이터 타입  (0) 2024.06.09
    자바 접근지정자  (0) 2024.06.09
    자바 클래스(Class)  (0) 2024.06.09
    자바 기본 예제 코드  (0) 2024.06.09
    자바의 시작  (0) 2024.05.05