* 해당 포스팅은 웹 개발자 기술 면접 준비를 하면서, 인터넷 검색을 통해 작성한 자료입니다. 틀린 부분이 있다면 댓글로 알려주시길 바랍니다!
객체지향 vs 절차지향
절차지향 프로그래밍
- 순차적인 처리를 중요시하는 프로그래밍 기법이다.
- 컴퓨터의 처리구조와 유사해 실행속도가 빠르다.
- 코드의 순서가 바뀌면 동일한 결과를 보장하기 어렵다.
- 대표 언어 - C언어
객체지향 프로그래밍
- 실제 세계의 사물들을 객체로 모델링하여 개발을 진행하는 프로그래밍 기법이다.
- 절차지향 언어보다 실행속도가 느리다.
- 3대 특성 : 캡슐화, 상속, 다형성
- 코드의 재활용성이 높으며, 디버깅이 쉽다.
- 대표 언어 - JAVA
List / Set / Map
리스트
- 순서가 있고 중복을 허용 한다.
- 인덱스로 원소에 접근이 가능하다
- 크기가 가변적이다
- LinkedList, ArrayList
Set
- 데이터의 집합이며, 순서가 없고 중복된 데이터를 허용하지 않는다
- 인덱스가 따로 존재하지 않기 때문에 iterator를 사용한다
- 빠른 검색 속도를 가진다.
- HashSet, LinkedHashSet, TreeSet
Map
- key-value 형태로 데이터를 저장한다.
- key에 대한 중복이 없으며 순서를 보장하지 않는다.
- 뛰어난 검색 속도를 가진다.
- 인덱스가 따로 존재하지 않기 때문에 iterator를 사용한다
- HashMap, HashTable, LinkedHashMap, TreeMap
요약
- List는 데이터가 순서대로 저장되며 중복을 허용한다
- Set은 순서가 보장되지 않고, 데이터의 중복을 허용하지 않는다
- Map은 순서가 보장되지 않고 key의 중복은 허용하지 않지만 value의 값의 중복은 허용된다
'일상 차곡차곡 > 취업' 카테고리의 다른 글
2021년 취준일기 (0) | 2021.10.30 |
---|---|
[자격증] 리눅스마스터 2급 2차 - 2주 독학 합격 후기, 공부방법 (1) | 2021.04.08 |
[자격증] 리눅스마스터2급 1차 시험 후기 (2) | 2021.01.29 |
2020년 하반기 취준일기 (0) | 2021.01.08 |