본문 바로가기

학위공부/독학사 요점정리

[독학사/컴공/객체지향프로그래밍]2.객체지향 언어의 특징

반응형

1.객체지향의 개념 및 소개

1.2.객체지향의 언어의 특징

1.2.1.JAVA

썬 마이크로시스템즈에서 1995년에 개발한 객체 지향 프로그래밍 언어. 창시자는 제임스 고슬링이다.

 

ㄱ.분류

JAVA는 크게 4가지 에디션으로 나뉜다.

-Java SE(Java Standard Edition): 대부분의 사람들이 접하는 표준 에디션. Java의 핵심 API와 기능들을 제공.

-Jakarta EE(Java Enterprise Edition): 기업에서 운영하는 서버 페이지에 특화된 에디션.

-Java ME(Java Micro Edition): PDA나 셋톱박스, 센서 등의 임베디드 시스템 환경에 특화된 에디션

-JavaFX: 데스크톱 에플리케이션 개발 및 배포를 위한 에디션. GUI 라이브러리를 제공한다.

 

ㄴ.특징

-primitive 타입은 객체로 취급하지 않기 때문에 순수 객체지향언어가 아니다.

-플랫폼에 독립적인 언어이다. 운영체제에 상관 없이, 플랫폼에 맞는 JVM(Java Virtual Machine)만

설치되어 있다면 문제 없이 작동한다.

-수많은 개발자와 레퍼런스가 존재하며, 높은 생산성을 가지고 있다.

-안정성: C++에서 안정성 문제가 제기되는 포인터 연산자, 메모리 직접접금 함수, 다중 상속을 허용하지 않는다.

또한, JVM이 실행될 때 필요한 메모리를 통으로 잡아 메모리를 동적으로 할당받는 C++보다 안정성이 높다.

-높은 소스코드 가독성을 가지고 있다.

-소스코드의 길이가 상당히 긴 편이다.

-축약어의 사용을 최대한 자제하는 방향으로 만들어졌다.

-가비지컬렉션을 사용한다.

 

1.2.2.C++

1983년 C언어에서 직접적으로 파생된 프로그래밍 언어. 비아네 스트로스트룹(Bjarne Stroustrup)이

객체지향언어 Simula의 컨셉을 C언어에 접목시키면서 만들었다.

C에 OOP개념을 추가하고 일반화 프로그래밍의 요소가 되는 STL(Standard Template Library)을 붙였다.

 

ㄱ.특징

-최대한 많은 것을 컴파일 타임에 처리하는 것을 지향하며 메모리 등을 프로그래머가 직접 관리하게 한다.

-프로그램의 성능 하락이 거의 없다.(정적 바인딩, 가비지컬렉션 미사용 등)

-프로그램 실행시간이 빠르지만, 컴파일시간이 오래걸린다.

 

 

1.2.3.기타언어

1.Smalltalk

엘런 케이가 1972년 팔로 알토 리서치 센터(PARC)에서 만든 언어로 최초로 OOP를 지원한 프로그램.

"누구나 쉽게 사용할 수 있는 컴퓨터"를 만들려고 했던 목적에 따라 만들어짐. 

여기에 누구나는 4-5세의 아이들도 포함되서, 비 수학적인 사고로 문제를 해결도록 언어가 설계됨

 

2.Ruby

Smalltalk의 계보를 잇는 순수 객체지향 언어. 일본 프로그래머 '마츠모토 유키히로'에 의하여 만들어짐.

객체지향 언어이면서 기존의 C++이나 JAVA등에 비해서 쉬운 난이도를 가지고 있다.

 

3.Ptyhon

'귀도 판 로썸(Guido van Rossum)'에 의해 만들어진 Python도 Ruby와 비슷한 구조를 가지고 있으며,

객체 지향을 지원하고 있다. 

 

4.Objective-C

1983년 브래드 콕스와 톰 러브가 C언어에서 파생된 Objective-C를 만들어 발표했다.

            

 

 

반응형