본문 바로가기
728x90

분류 전체보기104

[Java] 배열과 리스트 배열과 리스트는 모두 데이터를 저장하는 자료구조입니다. 그러나, 어떤 상황에서는 배열이 더 적합하고, 어떤 상황에서는 리스트가 더 적합합니다. 배열은 크기가 고정되어 있고, 각 요소의 인덱스를 사용하여 빠르게 접근할 수 있는 것이 장점입니다. 따라서, 다음과 같은 경우에 배열을 사용하는 것이 적합합니다. 요소의 개수가 고정되어 있을 때: 배열은 크기가 고정되어 있기 때문에, 요소의 개수가 고정되어 있는 경우 배열을 사용하는 것이 적합합니다. 요소의 인덱스를 자주 사용할 때: 배열은 각 요소의 인덱스를 사용하여 빠르게 접근할 수 있기 때문에, 요소의 인덱스를 자주 사용하는 경우 배열을 사용하는 것이 적합합니다. 반면에, 리스트는 크기가 가변적이고, 각 요소에 접근하기 위해서는 해당 요소를 검색해야 하는 것.. 2023. 2. 27.
[Java] int 상수 대신 열거 타입을 사용하라 int 상수 대신 열거 타입을 사용하는 것이 좋습니다. 열거 타입을 사용하면 코드의 가독성이 높아지고, 안정성이 향상되며, 코드 유지 보수가 용이해집니다. int 상수를 사용하는 경우에는 다음과 같은 문제점이 있습니다. 가독성이 떨어집니다. int 상수를 사용하면, 해당 상수가 어떤 의미를 가지고 있는지 한 눈에 알아보기어렵습니다. 예를 들어, int 상수로 요일을 표현하는 경우, 1이 월요일을 나타내는지, 일요일을 나타내는지 한 눈에 알아보기 어렵습니다. 안정성이 떨어집니다. int 상수를 사용하면, 오타나 잘못된 값이 사용될 가능성이 있습니다. 이 경우, 컴파일 시에는 오류가 발생하지 않고, 런타임에 문제가 발생할 수 있습니다. 코드 유지 보수가 어렵습니다. int 상수를 사용하는 경우, 상수의 값이.. 2023. 2. 27.
[Java] clone 함수 Java의 clone 함수는 객체를 복제하는 데 사용됩니다. clone 함수는 Object 클래스에 정의되어 있으며, 객체를 복제할 때 사용됩니다. 객체를 복제하면, 동일한 내용을 가진 두 개의 객체가 만들어집니다. clone 함수는 Object 클래스에서 기본적으로 protected 접근 제한자로 정의되어 있습니다. 따라서, clone 함수를 호출하려면 해당 클래스에서 public 접근 제한자로 재정의해주어야 합니다. 클래스에서 clone 함수를 재정의할 때에는 Cloneable 인터페이스를 구현해야 합니다. 이 인터페이스를구현하지 않은 클래스에서 clone 함수를 호출하면 CloneNotSupportedException이 발생합니다. Cloneable 인터페이스는 메소드가 없는 빈 인터페이스이며, 이.. 2023. 2. 27.
[Java] 문자열 거꾸로 출력하기 자바에서 문자열을 거꾸로 출력하는 방법은 여러 가지가 있습니다. 그 중에서 가장 간단한 방법은 StringBuilder 클래스를 이용하는 것입니다. StringBuilder 클래스는 문자열을 변경할 수 있는 가변 클래스이며, 문자열의 뒤에서부터 역순으로 반복문을 돌며 append 메소드를 이용하여 문자를 추가하고, toString 메소드를 호출하여 최종적으로 문자열을 반환합니다. 아래는 StringBuilder 클래스를 이용하여 문자열을 거꾸로 출력하는 예시 코드입니다. public static void main(String[] args) { String str = "Hello World!"; StringBuilder sb = new StringBuilder(); for (int i = str.lengt.. 2023. 2. 26.
코틀린(Kotlin)이란? 코틀린(Kotlin)은 2011년 JetBrains사에서 개발한 JVM(Java Virtual Machine) 및 Android용 언어로, 자바와의 상호 운용성이 높은 특징을 가지고 있습니다. 자바에서 발생하는 다양한 문제를 해결하면서, 자바와 유사한 구문을 사용할 수 있어 기존 자바 개발자들도 쉽게 학습할 수 있습니다. 코틀린은 객체지향 및 함수형 프로그래밍을 모두 지원하며, 람다 표현식과 확장 함수 등의 특징을 제공합니다. 또한 null 안정성을 보장하는 특징을 가지고 있어, NullPointerException과 같은 예외 상황을 방지할 수 있습니다. 코틀린은 간결한 문법을 가지고 있어 코드의 가독성을 높이고, 불필요한 코드의 양을 줄일 수 있습니다. 코틀린은 Android 애플리케이션 개발에도 많.. 2023. 2. 26.
[Java] Hashtable vs Map Hashtable과 Map은 모두 키와 값의 쌍으로 데이터를 저장하는 자료 구조입니다. 하지만 두 자료 구조는 몇 가지 차이점이 있습니다. Hashtable과 Map의 가장 큰 차이점은 동기화(synchronization) 여부입니다. Hashtable은 스레드 안전(thread-safe)한 자료 구조로, 동시에 여러 스레드에서 사용해도 안전합니다. 따라서, 멀티스레드 환경에서 안전하게 데이터를 처리해야 하는 경우에는 Hashtable을 사용하는 것이 좋습니다. 반면에 Map은 스레드 안전하지 않습니다. 멀티스레드 환경에서 안전하게 데이터를 처리하기 위해서는 ConcurrentHashMap 등의 스레드 안전한 자료 구조를 사용해야 합니다. 또한, Hashtable은 초기 용량(capacity)과 로드 팩.. 2023. 2. 26.
728x90