반응형 프로그래밍17 [Kotlin] Data Class 이해하기 Data Class는 보통 네트워크 통신이나 DB 모델을 만들 때 주로 사용합니다. 오늘은 이 Data Class가 무엇이고 일반적인 Class랑 무슨 차이가 있는지 알아보겠습니다. Data Class란? 데이터 클래스는 데이터를 보관하기 위해 만들어진 클래스입니다. 데이터 클래스는 toString(), hashCode(), equals(), copy()메소드를 자동적으로 만들어줍니다. 아래와 같이 정의할 수 있습니다. data class User(val name: String, val age: Int) Data Class 특징 ⑴ 데이터 클래스의 생성자는 1개 이상의 프로퍼티를 선언해야 한다. ⑵ 데이터 클래스 앞에 abstract, open, sealed, inner를 붙일 수 없다. ⑶ 데이터 클래.. 2022. 5. 23. [Kotlin] lateinit과 lazy란? - 지연 초기화를 통한 성능 개선 오늘은 Kotlin의 지연 초기화에 대해 알아봅시다. 초기화라는 말은 익숙하게 들어서 쉽게 이해할 수 있지만 지연(Lazy) 같은 경우는 프로그램에서는 기존과 다르게 다음과 같이 해석됩니다. 프로그램에서 Lazy는 퍼포먼스를 높이기 위해 처음부터 모든 것을 초기화하는 것이 아니라 필요한 순간까지 최대한 초기화를 지연시킨다는 의미로 사용한다. 지연 초기화는 왜 사용하는 것일까? 보통 class에서 변수를 초기화하면, 클래스 생성 시 해당 변수도 함께 생성되며 초기화됩니다. 그렇게 되면 클래스 객체를 생성할 때마다 해당 변수도 함께 초기화되기 때문에 바로 사용할 수 있다는 장점이 있습니다. 하지만 해당 변수를 바로 사용하지 않거나 꼭 사용하는 경우가 아니라면 클래스를 생성할 때마다 변수를 초기화하기 때문에 .. 2021. 12. 24. [Kotlin] 코틀린(kotlin)의 장단점은 무엇일까? 현재 제가 가장 재미있어하고 좋아하는 언어는 Kotlin입니다. 사실Kotlin을 접한지는 1년도 되지 않았지만 처음 사용할 때 묘한 매력을 느꼈습니다. 그래서 개인 프로젝트를 진행할 때 웬만하면 kotlin과 java를 사용하고 있습니다. 하지만 kotlin을 사용은 하고 있지만 장점과 단점에 대해 너무 모호하게 알고 있다는 생각이 들어서 정리를 해야겠다는 생각을 했습니다. 특징과 철학 일단 장단점을 알아보기 전에 kotlin은 어떤 언어이고 특징을 가졌는지 알아봅시다. Kotlin은 JetBrains에서 개발한 JVM 위에서 동작하는 언어입니다. 현재는 안드로이드 공식 언어로 자리매김을 하였습니다. ✔ 특징 정적 타입 언어 - 모든 프로그래밍 구성 요소의 타입을 컴파일 시점에 알 수 있고 프로그램 안.. 2021. 11. 19. [JAVA] Stack과 Queue 사용법 Stack과Queue는 코팅 테스트에서 심심치 않게 나오는 친구들입니다. 가끔 풀다 보면 까먹는 경우가 있어서Stack과Queue의 간단한 개념만 잡고 JAVA에서 어떻게 사용하는지 정리해보려고 합니다. 간단 개념 Stack : 마지막에 저장한 데이터를 가장 먼저 꺼내는 LIFO(Last-In-First-Out)인 자료구조 Queue : 먼저 들어간 데이터를 먼저 꺼내는 FIFO(First-In-First-Out)인 자료구조 사용법 Stack Stack stack = new Stack(); stack.push(1); stack.push(2); stack.peek(); // 2를 return , stack = [1, 2] stack.pop(); // 2를 return , stack = [1] push(ob.. 2021. 11. 8. [C#] regsvr32.exe를 이용하여 DLL, OCX 등록 및 삭제하기 regsvr32는 Windows에서 사용할 수 있는 명령 줄 도구입니다. DLL 파일 및 ActiveX 컨트롤, OCX파일과 같은 개체 연결 및 포함(OLE) 컨트롤을 등록하고 취소하는 데 사용합니다. regsvr32가 DLL 파일을 등록하면 관련 프로그램 파일에 대한 정보가 Windows 레지스트리에 추가됩니다. 이 때 다른 프로그램이 레지스트리에서 액세스 하여 프로그램 데이터의 위치와 상호 작용 방법을 이해할 수 있는 참조할 수 있게 해 줍니다. 일반적으로 cmd창을 관리자 권한으로 열어서 파일이 있는 위치로 이동한 뒤 다음과 같이 사용할 수 있습니다. 등록 : regsvr32 myfile.dll 등록 취소 : regsvr32 /u myfile.dll C#에서는 다음과 같이 사용할 수 있습니다. //.. 2021. 11. 3. [JAVA] ArrayList에서 Array로 변환하기 (Integer, String) 일반적으로 코딩 테스트나 프로그래밍에서 리스트를 다룰 때 삭제와 삽입이 용이하고 동적으로 크기를 정할 수 있는 ArrayList를 많이 사용합니다. 하지만 필요에 따라 ArrayList를 Array로 변환해야 할 때가 있습니다. 이번에는 어떻게 List를 Array로 변환할 수 있는지 알아보려고 합니다. ArrayList -> Int Array List array = new ArrayList(); array.add(1); array.add(2); array.add(3); //java 8 이후 int[] arr1 = array.stream().mapToInt(i -> i).toArray(); //java 8 이전 int[] arr2 = new int[array.size()]; for(int i =0 ; i.. 2021. 11. 1. 이전 1 2 3 다음 반응형