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를 만들어 발표했다.
'학위공부 > 독학사 요점정리' 카테고리의 다른 글
[독학사/컴공/객체지향프로그래밍]4.변수선언 (0) | 2020.06.29 |
---|---|
[독학사/컴공/객체지향프로그래밍]3.자료형 (0) | 2020.06.29 |
[독학사/컴공/객체지향프로그래밍]1.객체지향의 기본적 개념 (0) | 2020.06.29 |
[독학사/프로그래밍언어론] 1 - 가 : 프로그래밍 언어의 소개.2 (0) | 2020.06.29 |
[독학사/프로그래밍언어론] 1 - 가 : 프로그래밍 언어의 소개 (0) | 2020.06.29 |