본문 바로가기
개발 언어/JAVA

[JAVA] 01 자바의 개념

by 우주다람쥐 2018. 5. 1.
반응형

1. 자바의 개념


우리나라 및 전세계에서 많이 사용하는 자바 프로그래밍 언어에 대해 알아보자.

개요를 시작으로 문법과 특징을 알아보겠다.


(1) 자바란 무엇인가?


자바의 기본 개념은 다음과 같다.


가. 객체지향 프로그래밍(OOP:Object Oriented Programming) 언어이다. 


나. 분산 네트워크 기술을 지원한다. ( Socket 이용) 


다. 다중 스레드를 지원한다. ( multi thread ) m 플랫폼 독립적이다. ( platform independent ) 


라. 간단한 코드 작성이 가능하다. ( 포인터 제거 및 자동 메모리 관리: Garbage Collection) 


마. 동적 로딩 ( dynamic loading) 지원


바. 일반적으로 다음과 같은 3가지 개발 플랫폼에서 동작 가능한 프로그램을 개발할 수 있다.
Java Standard Edition(Java SE) 
Java Enterprise Edition(Java EE) 
Java Micro Edition(Java ME)


사. 다양한 운영체제에서 동작할 수 있도록 자바가상머신(JVM: Java Virtual Machine)이 제공된다.



(2) JVM


JAVA를 동작시키는 JVM의 기본 개념은 다음과 같다.


가. 실제 하드웨어에 소프트웨어가 설치되어 구현된 가상 CPU이다. 


나. 내부적으로 여러 가지 하드웨어 특징을 갖는 구조를 제공한다.( stack, heap, Register Set 등) 


다. 플랫폼에 독립적으로 컴파일된 바이트코드(bytecode,클래스파일)를 실행한다. 


라. JDK를 설치하거나 또는 브라우저에서 제공된다.



(3) 객체지향 프로그램


자바의 기본 개념과 자바를 실행시키는 환경에 대한 내용을 알았다면 자바를 어떻게 프로그래밍 해야하는지 알아보자.


위에서 말했듯이 자바는 객체지향 프로그래밍 언어이다. 그렇다면 객체지향 프로그램이란 뭘까?

객체지향 프로그램을 설명하기에 앞서 객체의 기본 개념은 다음과 같다.


가. 객체(object)란? 

- 주체(subject)가 바라본 사물 및 대상을 의미한다.


나. 객체의 구성요소 2가지? 

- 속성(attribute) 

- 동작(operation)


조금 더 쉽게 말하자면 어떤 프로그램을 만들 때 부분적으로 나눠놓은 것을 객체라고 정의한 것이다.

그래서 객체지향 프로그램은 객체화된 여러 부분들을 통합하면서 프로그램이 동작하도록 하는 것이다.


결국 객체 형태로 세분화하고 추상화 및 객체 모델링을 통해 프로그램을 개발하는 것이다.


( 추상화 및 객체 모델링이란 - 여러 가지 객체들 중에서 개발 어플리케이션에서 필요한 객체를 추출하여 원하 는 요소로 모델링하는 작업을 의미한다. )


앞서 설명이 어렵게 다가올 수도 있는데 정리하자면


현실세계에는 많은 객체(사물)들이 존재하고, 그 객체들간에는 서로 특별한 관계로 맺어져 있다. 

이러한 개념들을 가상세계인 프로그래밍에 적용시켜서 개발하는 방법론을 ‘객체지향 프로그래밍 기법’이라고 한다.


라고 할 수 있다.



다음 글에서 JDK와 Eclipse를 설치하고 Hello World를 찍어보자!

반응형

'개발 언어 > JAVA' 카테고리의 다른 글

[JAVA] 03 식별자와 데이터형  (0) 2018.06.01
[JAVA] 02 이클립스 및 JVM 설치  (0) 2018.05.01

댓글