기록 저장소
자바(Java)의 특징 본문
1. 이식성이 높다.
소스 파일을 수정하지 않아도, 자바 실행 환경(JRE)이 설치된 모든 운영체제에서 실행가능하다.
2. 객체지향 언어이다.
기본 자료형을 제외한 모든 요소가 객체로 표현되며 캡슐화, 상속, 다형성 기능을 지원한다.
3. 메모리를 자동으로 관리한다.
객체 생성시 자동으로 메모리 영역을 찾아서 할당하며, Garbage Collector를 통해 사용하지 않는 객체를 제거시킨다.
4. 멀티 스레드를 지원한다.
스레드 생성 및 제어에 관한 라이브러리를 제공하기에 운영체제와 상관없이 멀티 스레드를 쉽게 구현할 수 있다.
5. 동적 로딩(Dynamic Loading)을 지원한다.
객체가 필요한 시점에 클래스를 동적으로 로딩하여 객체를 생성하기에, 전체 클래스를 다시 컴파일할 필요 없이 일부 클래스만 수정하여 빠른 유지보수를 진행할 수 있다.
[ 참고 ]
* JDK와 JRE
- JRE는 JVM과 컴파일된 자바 파일을 실행할 때 필요한 라이브러리를 포함하며, JDK는 JRE와 개발에 필요한 도구(컴파일러, 디버거 등)를 포함한다.
* Java 프로그램은 운영체제에 독립적이나, 이를 실행하는 JVM(Java Virtual Machine)은 운영체제에 종속적임
* Java의 캡슐화
- 4가지 접근 제한자(Access Modifier)를 제공함
- 접근 제한자의 종류 : public, protected, default, private
* Java의 상속
- extends 뒤에 부모클래스를 기술하여 구현함. 다중상속을 허용하지 않음
* Java의 다형성
- 오버라이딩과 오버로딩을 활용하여 하나의 클래스나 함수가 다양한 방법으로 동작하는 다형성을 구현할 수 있음
다형성에 대해서 설명해보세요.
Overriding? Overloading? | 다향성에 대해서 설명해보세요. 객체지향 프로그래밍의 특징 중 하나인 다형성(polymorphis)은 상속을 통해 기능을 확장하거나 변경하는 것을 가능하게 해 주고, 같은 클래스 내에 코드의 길이를 줄여주는 것까지 도와주는 고마운 개념입니다. 이런 특징 덕분에 소프트xx마에스트로, Nxx엔터, 티xx스터 등 기술면접을 실시하는 여러 회사에서 단골 주제로 등장
brunch.co.kr
* 라이브러리와 API 차이점
라이브러리 API, ABI 뜻 비교 정리
개발을 시작하면서 접하기 쉬운 단어 중 햇갈리기 쉬운 API, ABI, 라이브러리, 프레임워크의 뜻을 알기쉽게 한번 설명해보는 포스팅이다. 계속 개발을 진행하다 보면 이런 용어들에 대한 대략적인 의미는 감이 잡..
eine.tistory.com
플랫폼, 프레임워크, 라이브러리, API에 대한 이해
제목에 적은 저 단어들에 대한 개념이 정확하지 않고, 블로그들을 검색해봐도 뭔가 확 오는 것이 없어서 이렇게 질문올립니다 ㅠ일단 제가 이해한 것까지 적어보면 (저는 안드로이드를 공부하고 있으므로 안드로이드를 기준으로 예시를 들면서 설명해보겠습니다.)플랫폼 - 안드로이드 자체가 플랫폼이라고 생각합니다. 음... 아이폰이면 아이폰? 컴퓨터는 윈도우와 맥 등이 있는 것 처럼? 전문적인 용어를 사용하면서 설명을 못하겠네요.....ㅠㅠㅠㅠㅠㅠ프레임워크 -
hashcode.co.kr
'Note > 개념정리' 카테고리의 다른 글
추상클래스와 인터페이스 (0) | 2019.08.17 |
---|---|
오버로딩(Overloading)과 오버라이딩(Overriding) (0) | 2019.08.15 |
프로세스(Process)와 스레드(Thread) (0) | 2019.08.14 |
Parsing & Parser (0) | 2019.05.14 |
객체와 인스턴스 (0) | 2019.04.05 |