전체 글 540

[Kotlin] 확장 함수

확장 함수가 뭐야? 🤔 확장 함수는 기존 클래스를 간단하게 확장할 수 있는 방법이다. 실제로 클래스 내부에 메서드나 프로퍼티가 생성되는 것은 아니며, 정적 바인딩 된다는 특징이 있다. 주로 라이브러리나 이미 있는 클래스를 따로 상속받지 않고 하나의 클래스에 추가적인 메서드를 구현하고 싶을 때 사용하는 함수이다. 확장 함수를 통해, 가독성을 향상시킬 수 있고 새로운 클래스를 만드는 번거로움을 줄일 수 있다.

Develop/Kotlin 2024.04.03

[Kotlin] Data class

Data class가 뭐야? 🤔 data class는 데이터를 저장하는 데 주로 사용된다. 내부적으로 toString(), hashCode(), equals(), copy() 메서드를 자동으로 생성해주어 편리하게 사용할 수 있다. 이 특징으로 인해 주로 엔터티(Entity)로 사용되거나 RecyclerView에서 아이템을 비교할 때 장점을 얻기 위해 활용된다. RecyclerView에서는 변경된 목록을 효율적으로 처리하기 위해 DiffUtil 클래스가 사용된다. DiffUtil은 두 목록 간의 변경 사항을 계산해야 하는데, 이때 data class의 equals() 메서드를 사용하여 각 항목을 비교한다. 두 목록에서 같은 위치에 있는 항목이 동일한 객체로 간주되어야 하며, 이는 equals() 메서드를 ..

Develop/Kotlin 2024.04.03

[Kotlin] enum와 sealed class

Enum class가 뭐야? 🤔 enum class는 상수, 상태값 등 유사한 값을 열거형으로 정의하는 클래스이다. 주로 고유한 값을 사용할 때 활용된다. Enum class는 상수, 상태값 등 유사한 값을 열거형 클래스로 정의하여 고유한 값으로 사용할 때 주로 활용된다. Enum class는 생성자, 프로퍼티, 메서드, 인스턴스, 변수 등을 가질 수 있다. 일반적으로 생성자를 명시적으로 선언하지 않으면 자동으로 디폴트 생성자가 생성된다. Enum class는 상속 해줄 수 없으며, 상속 받을 수도 없다. Sealed class가 뭐야? 🤔 sealed class는 특정 유형의 하위 클래스를 제한하는 데 사용하는 클래스이다. 주로 패턴 매칭과 같은 작업에 유용하다. *패턴 매칭 : 특정한 패턴을 찾아서 ..

Develop/Kotlin 2024.02.26

우아한테크코스 6기 서류, 프리코스, 최종 코딩테스트 / 최종합격

네이버 부스트캠프를 진행하며 우아한테크코스를 지원했다. 그렇다면 여기서 우테코를 왜 지원했는지에 대한 궁금증이 생길 수 있다. 우아한테크코스는 네이버 부스트캠프와 다르게 10개월이라는 긴 시간동안 동료들과 오프라인에서 협업하게 된다. 이는 단기간의 부스트캠프와는 또 다른 매력적인 측면이라고 생각했고, 테코톡을 통해 안드로이드 관련 기술에 대한 흥미로운 이야기를 듣고 싶었다. 그리고 나 또한 테코톡을 통해 사람들에게 기술적 고민을 공유하고 싶다는 욕망이 있었다. 서류 "자기소개서는 문항의 요점을 정확히 파악하여 키워드 위주로 일관되게 작성하면 된다고 생각한다." 흐름이 깨지지 않도록 1~2가지의 키워드를 선택해 써 내려가고, 소제목과 줄바꿈을 잘 활용하여 가독성 높게 작성하는 것이 좋다. 프로그래밍 역량을..

Memoir 2023.12.28

부스트캠프 웹・모바일 8기 멤버십 회고

부스트 캠프 멤버십에서 지속 가능한 개발자로.. "부스트캠프를 수료하면 현업에서 즉시 개발에 참여할 수 있는 수준의 안드로이드 개발 역량을 갖추게 된다." 깊이 있는 학습을 통해 안드로이드 스킬과 기술 스택, 그리고 현업에서 사용하는 개발론 등을 습득할 수 있었다. 멤버십에서 제공하는 커리큘럼은 이전에 동아리나 독학을 통해 접해봤던 내용이라 크게 어렵지는 않았다. 그러나 이전 경험들은 깊이 있는 학습이 부족했기에 개념을 천천히 익히기 위해 노력했다. 멤버십의 처음 8주는 마스터 클래스를 통해 안드로이드 스킬과 기술 스택을 학습하고, 미션을 통해 실질적으로 구현하며 다시 학습하는 방식으로 진행되었다. 또한, 현직 안드로이드 개발자로부터 코드 리뷰를 받음으로써 퀄리티 높은 코드 작성법에 대해 익힐 수 있었다..

Memoir 2023.12.18

개인정보처리방침(오순택)

('https://fre2-dom.tistory.com/'이하 '오순택')은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ○ 이 개인정보처리방침은 2022년 8월 1부터 적용됩니다. 제1조(개인정보의 처리 목적) ('https://fre2-dom.tistory.com/'이하 '오순택')은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행할 예정입니다. 제2조(개..

[kotlin] Android 4대 컴포넌트

💡 Android 4대 컴포넌트란? Android에서 4대 컴포넌트는 애플리케이션을 구성하고 동작시키는 기본적인 구성 요소들을 말한다. 이 4대 컴포넌트는 각각 다른 역할을 수행하며, 함께 조합하여 완전한 Android 애플리케이션을 구축한다. 📌 컴포넌트는 무엇이고 어떤 역활을 수행하는지? Android에서 컴포넌트(Component)는 애플리케이션을 구성하고 동작시키는 기본적인 모듈 또는 요소를 말한다. 각 컴포넌트는 특정한 역할을 수행하며, 이들을 조합하여 완전한 Android 애플리케이션을 구축할 수 있다. 다양한 컴포넌트들은 서로 상호작용하면서 앱의 기능과 동작을 결합시킨다. 컴포넌트는 애플리케이션을 구성하는 단위이며 애플리케이션이 아니다. 컴포넌트는 애플리케이션이 아니다. 하나의 애플리케이션은..

Develop/Kotlin 2023.08.30

부스트캠프 웹・모바일 8기 멤버십 합격

부스트캠프 멤버십 합격 8월 18일 금요일 오후 1시쯤, 합격 메일이 도착했다. 비록 멤버십을 목표로 삼지는 않았지만, 챌린지를 수행하면서 나의 노력과 실력이 인정받았다는 사실에 기분이 아주 좋았다. 다만, 멤버십에 합격한 이유나 합격 기준은 아무도 모르기 때문에, 챌린지를 수행한 사람들이 노력하지 않았거나 실력이 부족하다고 단정하기는 어렵다. 그럼에도 불구하고 챌린지를 더 의미있게 수행하면서 원하는 목표를 달성하는 방법에 대해 내 나름의 팁을 공유하고 싶다. 가장 중요한 것은 "포기하지 않는 것"이다. 처음에는 챌린지 과정이 그다지 어렵지 않을 것이라고 생각했지만, 1주차 시작부터 많은 부족함을 깨닫게 되었다. 이때부터 멤버십 합격이라는 목표에 급급하기보다는 "부족한 부분을 개선하자"라는 생각으로 도전..

Memoir 2023.08.20

부스트캠프 웹・모바일 8기 챌린지 회고

부스트 캠프 챌린지, 4주간의 코딩 훈련소 부스트캠프 챌린지를 하기 전에 지인들 전부 4주 동안 엄청 고생할 거다라는 말만 계속했다. 블로그에 후기글을 찾아봐도 전부 4주 동안 잠도 못 자고 고생한다는 글이 있었다. 나는 그 정도까지 힘들겠어?라는 생각으로 챌린지가 시작되기를 기다렸다. 그렇게 7월 10일 챌린지가 시작되고 8월 4일, 총 4주간의 챌린지를 수료하게 되었다. 챌린지 전에 듣고 보았던 글은 전부 다 사실이었다. 정말 힘들었다. 내가 개발을 하면서 제일 힘들었던 4주가 아니었나? 생각이 들 정도로 힘들었다. 하필 동아리 최종 발표도 겹쳐 있었기 때문에 더 힘들었던 것 같다. 그러나 고생 후 낙이 온다는 말처럼 정말 많은 것을 얻었다. 한마디로 말하자면 "나는 비전공자이지만 챌린지를 통해 전공..

Memoir 2023.08.07

네이버 부스트캠프 웹・모바일 8기 서류, 1차, 2차 코딩테스트 / 최종합격

나는 대학교를 다니면서 IT 동아리와 교육 프로그램을 하고 싶다는 생각을 늘 가지고 있었다. 동아리는 "디프만"이라는 IT 동아리를 진행했고 교육 프로그램을 듣지 못한 상태였다. 그렇게 4학년 1학기에 네이버 부스트캠프 웹 모바일을 지원했다. 지원기간은 5월부터 6월까지였기에 느긋하게 서류를 작성할 수 있었다. 서류 자기소개서는 모집 대상에 작성되어 있는 것을 잘 생각하며 작성했다. 글자수가 많지 않으므로 포인트를 중심으로 작성했다. 1차 코딩테스트 서류를 지원하고 시간이 흘러 1차 코딩테스트 안내 메일을 받았다. 응시료는 만원이고 코딩테스트 문제로는 알고리즘 문제 2문제와 cs문제 10문제였다. 검색은 가능하며 IDE는 불가능했다. 나는 서류 합격을 하고 시험 전까지 하루에 3-5문제를 풀었던 것 같다..

Memoir 2023.08.07