JAVA란 무엇인가?
by 으렴언어의 발전 단계
C : 절차 지향 언어
사람이 생각하는 방식을 언어로 표현 했다고 생각하면 된다.
예를들어 밥을 먹으려면 '숟가락을 잡고, 들어서, 밥을 퍼서, 입으로 가져간다' 이와 같은 과정들이 절차가 있다고 해서 절차 지향 언어라고 보면 된다.
C++ : 절차 지향 언어 / 객체 기반 언어 / 객체 지향 언어 / 일반화 개행
프로젝트가 점점 커져가며 절차 지향 언어로는 각기 기능들을 효율적으로 관리하기 벅차졌다.
그래서 '모듈화'라는 개념이 등장하기 시작한다.
JAVA : 완전한 객체 지향 언어 (Object Oriented Program)
Java에서 드디어 객체, 각 기능을 나누어서 관리하기 위하여 OOP라는 개념이 만들어 진다.
객체(Object)?
그래서 객체가 뭔데? 하면 사람이 말하는 모든 것은 객체라고 할 수 있다.
존재하는 모든 것은 객체이다.
컴퓨터도 객체 열쇠도 객체 물도 객체
하지만 추상적인 개념은 객체라고 하기 어렵다. 객체화를 위해서 구체화가 필요하다.
구체화를 한다면 추상적인 개념도 객체가 될 수 있다.
이때 독립화가 불가능하다면 그것은 객체가 아니다.
- 사람들이 가진 개념을 묶어 구체화 시킨 것.
- 추상적인 개념은 객체가 아님 구체화가 가능해야 함.
- 사람이 정의한 것은 모두 객체이다. 독립화가 불가능 하다면 객체가 아니다.
Object Oriented Program의 특징
Dynaminc Binding(동적 바인딩) : 프로그램이 실행(진행) 되면서 객체의 동작이 결정되는 것.
개발자의 편리성 / 가독성이 높아짐.
사용자의 만족도를 높게 만들어야 한다(객체 사용자) →어떤식으로 쓸 것인가 고민!
JAVA의 특징
- Java는 원래 임베디드(embedded) 목적으로 만듦 (작은 플랫폼)
- 이식성이 좋다 (플랫폼에 독립적)
JVM(Java Virtual Machine : 자바 가상 머신)을 통해서 OS와 동작
- API 제공을 지원한다.
프로그램을 개발하기 위해 API를 찾는 것은 중요하다. Java는 API가 많음!
java 색감 따서 타이틀 만들었는데 박카스같다.. 후...
여담으로 java를 만드신 분이 커피를 좋아해서 java라고 이름지었다는데 믿거말
'Programming Language > JAVA' 카테고리의 다른 글
JAVA의 접근 지정자 (0) | 2019.02.20 |
---|---|
정적 바인딩과 동적 바인딩 (0) | 2019.02.19 |
Java Class에는 무엇이 들어갈까? (0) | 2019.02.19 |
DESIGN-PATTERN :: Strategy Pattern 스트래티지 패턴 (0) | 2019.01.05 |
JAVA Queue/Stack 구현하기 (0) | 2018.03.21 |
사이트의 정보
코딩하렴
으렴