본문 바로가기
WEB ( Back, Front)/Java

JAVA 프로그래밍: 시작부터 실전까지의 스토리 chapter 1

by 프리랜서가 들려주는 IT세계 2023. 5. 17.
반응형

Java 를 다루면서 프로그래밍의 기초부터 실전까지 다루는 이야기를 해보려 한다.

시리즈가 모두 완성될 수 있도록 할 것이며, 모두 무료이다.

현재 개발에 참고하여 역사부터 실전까지 어떻게 사용할지에 대해서 다룰 예정입니다.

 

자바의 개요

역사와 배경

 

자바는 1995년에 선 마이크로시스템즈(현 오라클)에서 제임스 고슬링(James Gosling)과 그의 팀이 개발한 객체지향 프로그래밍 언어입니다. 그리고 이 언어의 이름은 원래 "Oak"이었지만, 다른 소프트웨어와의 충돌을 피하기 위해 "Java"로 변경되었습니다. 자바의 탄생 배경에는 웹의 등장과 인터넷 기술의 발전이 큰 영향을 미쳤습니다.

1990년대 초반, 웹은 이미 존재했지만 단순한 정적 페이지를 표시하는 수준이었습니다. 그러나 웹의 발전과 함께 동적인 웹 페이지를 생성하고 상호작용할 수 있는 기술이 필요해졌습니다. 이를 위해 마이크로시스템즈는 가전 제품에 사용할 수 있는 프로그램 언어를 개발하기 시작했습니다.

고슬링과 그의 팀은 초기에는 케이블 TV와 같은 기기에 내장될 소프트웨어를 개발하기 위해 Oak 언어를 고안했습니다. 하지만 웹의 발전으로 Oak의 사용 용도는 크게 바뀌게 되었습니다. 1994년, 인터넷 기반의 디지털 케이블 시스템 프로젝트를 위해 Oak 언어를 사용하기 시작했습니다. 이 프로젝트는 성공적으로 완료되지 못했지만, Oak 언어의 잠재력을 인식한 마이크로시스템즈는 1995년 웹 애플리케이션 개발을 위한 Oak 플랫폼을 발표하게 됩니다.

그리고 이후로 마이크로시스템즈는 웹 애플리케이션을 위한 Oak 플랫폼의 이름을 "Java"로 변경하고, 1995년 5월 23일에 자바를 공식적으로 발표합니다. 이 당시 자바는 웹 애플리케이션 개발을 위한 혁신적인 언어로 인정받았고, 웹 브라우저 상에서 실행될 수 있는 "앱렛(Applet)" 기술을 제공했습니다. 이를 통해 개발자는 웹 페이지 안에서도 다양한 기능을 수행하는 소프트웨어를 작성할 수 있었습니다.


특장점

자바는 플랫폼 독립적인 언어로서, 운영체제에 독립적으로 실행될 수 있습니다. 이는 "Write once, run anywhere"라는 원칙을 가진 자바의 장점 중 하나입니다. 자바는 자바 가상 머신(JVM) 위에서 동작하며, JVM이 설치된 어떤 운영체제에서도 동일한 방식으로 실행될 수 있습니다. 이는 자바 프로그램의 이식성을 높여주며, 개발자는 특정 운영체제에 종속되지 않고 다양한 환경에서 애플리케이션을 개발할 수 있습니다.

또한 자바는 객체지향 프로그래밍 언어입니다. 객체지향 프로그래밍은 코드의 재사용성과 유지보수성을 향상시키며, 모듈화된 구조로 복잡한 문제를 해결할 수 있는 장점이 있습니다. 자바의 객체지향적인 특성은 클래스와 객체를 기반으로 한 프로그래밍 방식을 지원하며, 상속, 캡슐화, 다형성 등의 개념을 제공합니다.

또한 자바는 메모리 관리를 자동으로 처리하는 가비지 컬렉션을 제공합니다. 개발자는 명시적으로 메모리를 할당하거나 해제할 필요가 없으며, 가비지 컬렉터가 자동으로 더 이상 사용되지 않는 객체를 탐지하여 메모리를 회수합니다. 이는 메모리 누수와 관련된 문제를 줄여주고, 개발자가 메모리 관리에 대한 부담을 덜어줍니다.

또한 자바는 다양한 라이브러리와 API를 갖추고 있습니다. 자바 플랫폼은 수많은 라이브러리와 API를 포함하고 있어, 개발자가 일반적인 작업을 빠르게 처리할 수 있습니다. 예를 들어, 자바에서는 네트워킹, 입출력, 데이터베이스 연동, 그래픽 처리 등 다양한 기능을 수행하는 라이브러리와 API를 제공합니다. 이를 통해 개발자는 필요한 기능을 직접 구현하는 것이 아니라 라이브러리를 활용하여

개발 시간과 노력을 절약할 수 있습니다.

또한 자바는 보안성이 높은 언어로 알려져 있습니다. 자바는 샌드박스(Sandbox) 환경을 통해 외부로부터의 악성 코드 실행을 방지하고, 코드 실행 중에 발생할 수 있는 에러와 예외를 처리하는 강력한 예외 처리 메커니즘을 제공합니다. 또한 자바는 인터넷 기반 애플리케이션 개발에 적합한 보안 기능을 갖추고 있어, 사용자 정보의 보호와 데이터의 안전성을 보장할 수 있습니다.

이처럼 자바는 플랫폼 독립성, 객체지향 프로그래밍, 자동 메모리 관리, 다양한 라이브러리와 API, 보안성 등 다양한 특징과 장점을 갖춘 프로그래밍 언어입니다. 이러한 특징들은 자바를 널리 사용되는 언어로 만들어주었으며, 다양한 분야에서 개발자들에게 많은 혜택을 제공하고 있습니다.


개발 환경과 설정

JDK(Java Development Kit) 설치:
자바 개발을 위해 먼저 JDK를 설치해야 합니다. JDK는 자바 애플리케이션을 개발하기 위한 도구들을 포함하고 있습니다. 오라클(Oracle) 공식 웹사이트에서 JDK를 다운로드하여 설치할 수 있습니다. 설치가 완료되면, 시스템 환경 변수에 JDK 경로를 등록해야 합니다.

개발 툴 선택:
자바 개발을 위한 다양한 통합 개발 환경(IDE)이 있습니다. 대표적인 IDE로는 Eclipse, IntelliJ IDEA, NetBeans 등이 있습니다. 개발 툴을 선택하여 다운로드하고 설치한 후, 필요한 설정을 진행합니다. IDE는 코드 편집, 디버깅, 빌드 등의 작업을 효율적으로 수행할 수 있는 기능을 제공합니다.

프로젝트 생성:
개발 툴을 실행한 후, 새로운 자바 프로젝트를 생성합니다. 프로젝트는 개발할 애플리케이션의 구조와 설정을 담고 있으며, 소스 코드를 포함한 다양한 파일들을 관리합니다. 프로젝트 생성 시 필요한 정보(프로젝트 이름, 위치, JDK 버전 등)를 입력하고, 초기 설정을 완료합니다.

빌드 시스템 설정:
대규모 프로젝트에서는 빌드 시스템을 사용하여 프로젝트를 관리합니다. 대표적인 빌드 시스템으로는 Apache Maven과 Gradle이 있습니다. 빌드 시스템을 사용하면 필요한 라이브러리 의존성 관리, 빌드 스크립트 작성, 자동화된 빌드 및 배포 등을 효과적으로 수행할 수 있습니다.

디버깅 설정:
개발 중에 발생하는 버그를 찾고 수정하기 위해 디버깅 설정이 필요합니다. IDE에서는 디버깅을 위한 다양한 기능을 제공하며, 중단점(Breakpoint) 설정, 변수 값 확인, 스택 추적 등을 통해 코드의 실행 상태를 분석할 수 있습니다.

빌드와 실행:
개발한 자바 애플리케이션을 실행하기 위해 빌드 작업

이 필요합니다. IDE나 빌드 시스템을 사용하여 소스 코드를 컴파일하고 실행 가능한 형태로 변환합니다. 빌드가 성공적으로 완료되면, 애플리케이션을 실행하여 동작을 확인할 수 있습니다.

외부 라이브러리 추가:
개발 중에 필요한 외부 라이브러리가 있다면, 해당 라이브러리를 프로젝트에 추가해야 합니다. 일반적으로 Maven이나 Gradle과 같은 빌드 시스템을 사용하여 의존성을 관리합니다. 필요한 라이브러리의 정보를 설정 파일에 추가하고, 빌드 시스템을 실행하여 자동으로 라이브러리를 다운로드하고 프로젝트에 추가합니다.
자바 개발 환경 설정은 JDK 설치, 개발 툴 선택 및 설정, 프로젝트 생성, 빌드 시스템 설정, 디버깅 설정, 빌드와 실행, 외부 라이브러리 추가 등의 단계로 구성됩니다. 이러한 설정을 효율적으로 진행하면 개발자는 안정적이고 효과적인 자바 애플리케이션을 개발할 수 있습니다.


반응형

'WEB ( Back, Front) > Java' 카테고리의 다른 글

JsonNode to Object, Object to JsonNode 자유자제로 사용하기  (0) 2022.02.18
Map vs List 차이  (0) 2020.09.15
파일 업로드 주의 사항  (0) 2020.08.06
Java #1  (0) 2019.12.27

댓글