Java

· Java
Annotation Java에는 Annotation이라는 인터페이스 가 존재한다. '@'가 앞에 붙은 형태로 존재하며 메서드 혹은 클래스등의 위에 붙여 사용하는 어노테이션은 메타데이터를 코드에 추가하기 위해 사용되는 주석이라고 할 수 있다. 하지만 일반적인 주석과는 다르게 값을 가질 수 있고, 런타임에 실행 흐름에 영향을 줄 수 있다. 공식문서와 소스 코드를 통해 살펴보자.선언규칙어노테이션은 인터페이스의 일종이지만 일반적인 인터페이스의 와 구분하기 위해 키워드 앞에 @를 추가하며 인터페이스 선언의 모든 규칙을 똑같이 적용할 수 있지만 몇 가지 하위 내용에서 차이점이 존재한다.  1. 인터페이스에 사용하는 sealed 혹은 non-sealed를 사용할 수 없다. public sealed interface ..
· Java
Java의 Sort 함수정렬컴퓨터공학의 많은 과목들에서 빠지지 않는 주제가 있다.바로 정렬이다. '정렬'이란 데이터들이 있을 때 정해진 기준에 따라 순서대로 나열하는 것을 의미한다.  이러한 정렬이 왜 중요할까?그 이유는 탐색에 있다. 무작위로 섞여있는 데이터들과는 다르게 정렬된 데이터들을 탐색할 때에는 아주 강력한 도구를 사용할 수 있는데 바로 이분탐색이다. 모든 데이터들을 살펴봐야 하는 순차탐색과는 다르게 이분탐색은 탐색을 한 번 진행할 때마다 후보의 수를 절반으로 줄이는 방식으로 탐색 시간을 압도적으로 줄일 수 있다.  정렬에도 비용이 들어가기 때문에 탐색보다 삽입/삭제가 더 빈번하게 일어날 경우에는 정렬 없이 순차탐색으로만 데이터를 찾을 수도 있지만 대부분의 프로그램에서는 탐색(조회) 요청이 훨씬..
· Java
if-else VS switch Java의 switch 문은 변수의 값에 따라 여러 실행 경로 중 하나를 선택할 수 있는 제어문이다. if-else 문과 같은 동작을 하기 때문에 같은 시간 복잡도를 가지고 있다고 생각하기 쉽지만 실제로는 꽤 다르다. 먼저 if-else 문을 살펴보자. if (condition1) { // 코드 블록 A } else if (condition2) { // 코드 블록 B } else if (condition3) { // 코드 블록 C } else { // 코드 블록 D } if-else 문 자체는 단순히 한 번의 조건을 평가하는 것이기 때문에 상수 시간 복잡도를 가진다.(O(1)) 하지만 예시와 같이 if-else 체인이 있거나 내부에 중첩된 if-else 문을 가지고 있다면..
dino9881
'Java' 태그의 글 목록