728x90
- java의 장단점
- 장점
운영체제에 독립적이다.
JVM에서 동작하기 때문에, 특정 운영체제에 종속되지 않는다.
객체지향 언어이다.
객체지향적으로 프로그래밍 하기 위해 캡슐화, 상속, 다형성 등 여러 언어적 지원을 하고있다.
자동으로 메모리 관리를 해준다.
JVM에서 Garbage Collector라고 불리는 데몬 쓰레드에 의해 GC(Garbage Collection)가 일어난다.
GC로 인해 별도의 메모리 관리가 필요 없으며 비지니스 로직에 집중할 수 있다. (참고) - 단점
비교적 속도가 느리다.
자바는 한 번의 컴파일링으로 실행 가능한 기계어가 만들어지지 않고 JVM에 의해 기계어로 번역되고 실행하는 과정을 거치기 때문에
C나 C++의 컴파일 단계에서 만들어지는 완전한 기계어보다는 속도가 느리다. 그러나 JVM의 기능이 향상되어 속도의 격차가 많이 줄어들었다.
예외처리가 불편하다.
프로그래머 검사가 필요한 예외가 등장한다면 무조건 프로그래머가 선언을 해줘야 한다. - https://gmlwjd9405.github.io/2017/10/01/basic-concepts-of-development-java.html
- 장점
- OOP의 4가지 특징
- 추상화
구체적인 사물들의 공통적인 특징을 파악해서 이를 하나의 개념(집합)으로 다루는 것 - 캡슐화
정보 은닉(information hiding)으로: 필요가 없는 정보는 외부에서 접근하지 못하도록 제한하는 것 - 일반화 관계
여러 개체들이 가진 공통된 특성을 부각시켜 하나의 개념이나 법칙으로 성립시키는 과정 - 다형성
서로 다른 클래스의 객체가 같은 메시지를 받았을 때 각자의 방식으로 동작하는 능력 - https://gmlwjd9405.github.io/2017/10/01/basic-concepts-of-development-java.html
- 추상화
- 객체지향 프로그래밍과 절차지향 프로그래밍의 차이
- 절차지향 프로그래밍
- 실행하고자 하는 절차를 정하고, 이 절차대로 프로그래밍하는 방법
목적을 달성하기 위한 일의 흐름에 중점을 둔다.
- 실행하고자 하는 절차를 정하고, 이 절차대로 프로그래밍하는 방법
- 객체지향 프로그래밍
- 실세상의 물체를 객체로 표현하고, 이들 사이의 관계, 상호 작용을 프로그램으로 나타낸다.
객체를 추출하고 객체들의 관계를 결정하고 이들의 상호 작용에 필요한 함수(메서드)와 변수(필드)를 설계 및 구현하다.
연관되어 있는 변수와 메서드를 하나의 그룹으로 묶어서 그룹핑 합니다
- 실세상의 물체를 객체로 표현하고, 이들 사이의 관계, 상호 작용을 프로그램으로 나타낸다.
- https://gmlwjd9405.github.io/2017/10/01/basic-concepts-of-development-java.html
- 절차지향 프로그래밍
'항해99 3기' 카테고리의 다른 글
[TIL] 2021.12.16 코딩 테스트 준비중 - 선택정렬 / 버블정렬 / 좌표 정렬하기2 / Arrays.sort() 정렬 방법 / 면접 질문 대비 (0) | 2021.12.19 |
---|---|
2021.12.18 면접 질문 준비(수정필요) - SpringBoot/Spring (0) | 2021.12.19 |
2021.12.16 면접 질문 준비(수정필요) - Part 1. 전산 기초 : 데이터베이스 (0) | 2021.12.19 |
2021.12.15 면접 질문 준비(수정필요) - Part 1. 전산 기초 : 데이터베이스 (0) | 2021.12.17 |
2021.12.14 면접 질문 준비(수정필요) - Part 1. 전산 기초 : 운영체제 (0) | 2021.12.17 |