본문 바로가기
JAVA

JAVA란 무엇인가?

by 자바비터 2022. 2. 2.
JAVA란?

JAVA란 사람의 언어와 기계어 사이에서 다리와 같은 역할을 해주는 프로그래밍 언어로 1995년도에 탄생하였다.

자바소스파일(.java) -> 바이트코드파일(.class) -> 기계어 -> 실행

자바소스를 컴파일러(언어해석기 javac.exe)하여 바이트코드를 만들고

Java Virtual Macine(자바버츄얼머신 java.exe)을 이용하여 기계어로 번역하여 실행한다.

 

JAVA는 객체지향언어이다.

JAVA는 객체지향언어 OOP(Object Oriented Programming)로 

부품 객체를 먼저 만들고 이것들을 조합해서 전체 프로그램을 완성한다.

 

객체란?

소프트웨어 객체는 현실 세계의 객체를  필드와 메소드로 모델링한 것으로

상태를 필드(Field)로 정의하고, 동작을 메소드(Method)로 정의.

필드는 객체 내부에 선언된 변수를 의미하고, 메소드는 객체 내부의 정의된 동작을 의미한다.

 

객체 지향 언어는
  • 부품(객체)들은 언제든기 교체 가능하다.
  • 객체간의 상속, 소유, 사용 등의 관계를 갖는다.
  • 함수적 스타일의 코딩을 지원한다.
  • 메모리를 자동으로 관리해준다. (사용하지 않는 객체는 자동으로 삭제)
  • 멀티스레드 기능으로 동시에 여라가지 작업을 하거나 대용량 작업에 유용하다.
  • 동적 로딩을 지원한다. (미리 객체를 만들어 놓지 않고 필요한 시점에 동적로딩해 객체 생성)

 

객체 지향 프로그래밍의 특징
  • 캡슐화(정보 은닉) : 관련된 필드와 메소드를 하나의 캡슐처럼 포장해 세부 내용을 외부에서 알 수 없도록 감춘다.
  • 상속 : 자녀가 부모 재산을 상속받아 사용하듯이 상위 객체를 상속받은 하위 객체가 상위 객체의 메소드와 필드를 상속받아 사용할 수 있다. 
  • 재사용성 : 상속은 개발된 객체를 재사용하는 방법 중 하나이다.
  • 다형성 : 하나의 인터페이스를 사용하여 다양한 구현 방법을 제공한다.

 

다형성 "one interface, multiple implementation"
  • 하나의 클래스나 함수가 다양하게 동작할 수 있다.
  • 대입되는 객체에 따라서 메소드를 다르게 동작하도록 구현하는 기술로 실행 도중 동일한 이름의 다양한 구현체 중에서 메소드를 선택하여 사용 가능하다.
  • 다형성은 동일한 명령을 내리더라도 객체의 종류에 따라 다르게 실행될 수 있다.
  • 같은 이름의 메소드가 클래스나 객체에 따라 다르게 동작하도록 구현할 수 있다.

댓글