모든 반복문은 언제나 재귀 함수로 변환할 수 있으며, 그 반대도 마찬가지다. 따라서 개발자의 필요에 따라 적절히 골라서 사용하는 것이 중요한데, 그 장단점과 차이를 정리해보자. 반복문(Iteration) 선언 - 이 곳에서 반복이 일어난다는 것을 명시. 직관적이며 가독성 좋음. 시작 - 초기화, 반복 조건, 제어 변수의 변경, 반복문 내의 명령문 실행에 대한 정보 명시 종료 - 특정 조건에 도달 할 때까지 반복적으로 실행 무한반복 - 반복 조건에 따라 발생하며 CPU 사이클을 반복적으로 사용 메모리 - 힙 메모리 사용(넘칠 시 Out Of Memory 에러 발생) 속도 - 빠름 변수 - 많음. 이는 변경 가능한 상태의 증가로 이어지며 프로그램 오류가 발생할 가능성이 상대적으로 높음. 재귀 함수(Recur..
목차 Stack Stack은 더미, 쌓다 등의 의미를 지니고 있다. 하나의 입출력 방향만을 가진 구조에 데이터를 넣는 것으로 생각할 수 있는데, 때문에 가장 큰 특징은 후입 선출 구조라는 점이다. 추가로 데이터를 한 번에 하나씩만 넣고 뺄 수 있다는 특성도 존재한다. 주로 브라우저의 앞으로 가기나 뒤로 가기, 실행 취소(컨트롤+z), 혹은 함수의 호출이나 재귀 함수 역시 스택에 기반을 두고 있다. 보통 고정된 크기를 가지기 때문에 다 사용하면 넘치게 되며, 이를 스택 오버플로우라고 부른다. Queue 이에 반해 큐는 입력과 출력의 방향이 따로 정해진, 선입선출 구조를 지니고 있다. 스택과의 공통점은 데이터를 한 번에 하나씩만 넣거나 뺄 수 있다는 점이 있으며 프린터의 출력 알고리즘 같은 작업/데이터의 순..
목차 두 버전의 비교보단 11에서 추가된 기능 위주로 정리한다. String 클래스에 새로운 메서드 추가 strip(): 문자열 앞/뒤 공백 제거 stripLeading(): 문자열 앞 공백 제거 stripTrailing(): 문자열 뒤 공백 제거 isBlank(): 문자열이 비어있거나 공백만 포함된 경우 true 반환 repeat(n): 문자열을 n번 붙여서 반환 java.nio.file.Files 클래스(파일 처리 클래스)에 새로운 메서드 추가 Path writeString(Path, String, Charset, OpenOption): 파일에 문자열을 작성하고 Path로 반환. OpenOption에 따라 다르게 작동하며 Charset의 기본값은 UTF-8이다. String readString(Pat..
목차 Summary 기본형과 참조형 데이터 타입의 차이에 대해서만 선 요약하고 들어간다. 요약 이후의 글은 둘의 차이 뿐 아니라 각각의 특성에 대해서도 조금 더 다루고 있다. Primitive Variables Reference Variables 개수 8 무제한(기본형을 제외한 전부) 크기 1, 2, 4, 8byte(타입마다 다름) 4, 8byte(JVM에 따라 다름) 저장 데이터 데이터 값 데이터의 주소값 데이터 저장 위치 Call Stack Heap 산술연산 가능 불가능 null 값 불가능 가능 비교 연산자 == equals() Primitive Variables 자바는 아래의 8가지 기본형 타입을 제공한다. 타입 할당되는 메모리 크기 기본값 표현 범위 논리형 boolean 1 byte false t..
- Total
- Today
- Yesterday
- 리스트
- 중남미
- a6000
- 맛집
- RX100M5
- 세계일주
- 면접 준비
- 여행
- Backjoon
- 스프링
- spring
- java
- 유럽여행
- 유럽
- 지지
- Algorithm
- BOJ
- 남미
- 세계여행
- 파이썬
- 동적계획법
- Python
- 야경
- 기술면접
- 백준
- 자바
- 세모
- 칼이사
- 스트림
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |