JAVA/기초공부

[JAVA기초] 자바언어 개요

SoU330 2024. 9. 12. 01:04

 

 

 

자바의 등장 배경

자바는 1991년 "제임스 고슬링"과 그 연구원들이 가전제품들을 하나 네테워크와 연동하여 처리할 수 있게 하자는 목표로 "그린 프로젝트" 를 수행하면서 개발한 언어. 플랫폼에 독립적이면서 기존의 개발언어인 C언어나 C++ 언어의 단점을 개선하고, 배우기 쉽고 사용이 간단하도록 만든 객체지향언어

 

자바 언어 특징

- 객체지향 언어

- 플랫폼에 독립적임 (어떤 운영 체제나 하드웨어에 상관없이 프로그램이 실행될 수 있음 ex. Windows, Mac, Linux 등 다양한 환경에서 별도의 수정 없이 동일하게 실행가능)

- 분산 환경에 적합한 동적인 확장이 가능함 (여러 대의 컴퓨터나 서버가 연결된 네트워크 환경에서 프로그램이 원활하게 작동할 수 있고, 시스템에 변화가 생기거나 사용자가 늘어나도 쉽게 확장할 수 있음)

- 안정적임 (프로그램이 오류 없이 일관된 성능 유지)

- 단순함 (불필요하게 복잡한 요소가 없음)

 

자바 프로그램 실행 과정

1. 자바 소스 프로그램 작성 (자바 소스 코드를 .java 파일로 작성)

2. 자바 프로그램 컴파일러 (작성된 자바 소스 코드를 javac(자바 컴파일러)가 바이트코드 .class 파일로 변환. 이 바이트코드는 특정 운영 체제에 의존하지 않음)

3. 자바 인터프리터 (JVM(자바 가상머신)이 바이트코드를 해석하여 운영체제에 맞는 기계어로 변환하고 프로그램 실행)

-> 플랫폼 독립성 유지

 

객체지향 프로그래밍 언어의 특징

객체지향 언어 : 객체간의 상호 작용을 나타내는 형태로 캡슐화, 다형성, 상속성의 특징을 가짐.

객체 : 상태와 동작을 가짐

속성 : 객체의 상태를 나타내는 것

 

캡슐화 

: 객체들의 외부의 간섭 또는 잘못된 사용으로부터 안전하게 지켜주기 위해서 유사한 특징을 가진 멤버 필드와 메소드들로 묶어서 사용하는 것

- 클래스라는 단위로 정의

- 정의된 클래스를 이용하여 여러 개의 객체를 만들어서 객체 상호 간에 메시지를 전달하여서 작업 수행

 

상속

: 상위의 클래스를 기반으로 하여 하위의 새로운 클래스를 정의

- 하위 클래스는 이미 정의된 상위 클래스의 코드를 재사용하고 추가로 자신의 메소드와 속성을 추가로 갖음

- 패키지 내에 미리 정의해 놓은 클래스, 추상클래스와 인터페이스를 재사용하고 통합하여 새로운 클래스를 정의할 수 있음

- 자바에서는 단일상속만 제공. 인터페이스를 사용하여 다중상속을 나타낼 수 있음

 

다형성

: 하위 클래스에서 동일한 이름의 메소드로 정의하고 구현을 다르게 할 수 있음

- 동일한 이름의 메소드들 중 어느 메소드가 실행되는지는 동적 바인딩 할 때 결정 됨

- 확장성, 유지보수성 향상, 개발 비용 절감.

 

 

 

 

 

 

[참고] 실습을 통하여 쉽게 배우는 자바 프로그래밍 - 원종권