프로그래밍 언어(24)
-
코틀린에서 스코프(Scope)란?
프로그래밍에서 "스코프(scope)"는 변수나 함수, 클래스 등의 이름(식별자)이 유효한 범위를 뜻한다.코틀린(Kotlin)에서는 이 개념이 특히 중요한데, 코드의 안정성, 가독성, 유지보수성에 큰 영향을 주기 때문이다.스코프(Scope)란?어떤 이름(식별자)이 어디서부터 어디까지 유효한지(접근 가능한지)를 결정짓는 논리적 범위.스코프가 중요한 이유이름 충돌 방지: 서로 다른 블록에 같은 이름 사용 가능캡슐화: 외부에 불필요한 정보 숨기기가독성/유지보수 향상: 필요한 곳에서만 변수 사용 가능 코틀린의 주요 스코프 종류1. 로컬 스코프 (Local Scope)함수나 블록 내부에서 선언된 변수해당 블록 내에서만 유효fun greet() { val name = "Bbang_9999u" // 로컬 스코프 ..
2025.05.20 -
헬퍼 함수(Helper Function)
헬퍼 함수(Helper Function)란?"하나의 기능을 잘게 쪼개서 보조적으로 처리해주는 함수"= 큰 로직을 깔끔하게 만들기 위한 도우미 함수특징다른 함수 내부에서만 쓰이는 보조 역할재사용성보다 가독성과 분리 목적이 더 큼일반적으로 private, inline, 또는 local function으로 정의됨네이밍에 get, is, format, calc, build 등의 접두어가 자주 붙음예시 (Kotlin)fun printUserInfo(user: User) { val fullName = getFullName(user) val age = calculateAge(user.birthYear) println("이름: $fullName") println("나이: $age")}private..
2025.05.16 -
Kotlin에서 for문 안에 함수를 정의해도 괜찮을까?
나는 알고리즘 문제 풀이를 하면서 로컬 함수를 정의하는 걸 좋아한다.게다가 Kotlin에서는 for 루프 내부에 로컬 함수를 정의할 수 있다.이 기능은 특정 반복문 블록 내에서만 사용하는 헬퍼 함수의 스코프를 제한할 수 있어, 코드 구조상 유용한 경우가 있다.for (item in items) { fun process(value: Int): Boolean { return value % 2 == 0 } if (process(item)) { /* ... */ }} for문 안에 함수를 정의하였을 때의 장점1. 캡슐화반복문에서만 쓰이는 로직을 해당 블록 안에 숨김으로써, 외부 스코프를 깔끔하게 유지할 수 있다.2. 가독성 향상복잡한 처리를 함수로 추출하면 반복문이 간결해지고 이해하..
2025.05.09 -
[Android] Java에서 UTC와 TimeZone 완전 정복하기
1. UTC 기준으로 저장된 문자열 → Date 객체로 파싱String utcString = "2025-03-31 01:10:30";// 1. SimpleDateFormat 설정 (UTC 기준)SimpleDateFormat utcFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());utcFormat.setTimeZone(TimeZone.getTimeZone("UTC"));// 2. 문자열 → Date 객체Date parsedDate = null;try { parsedDate = utcFormat.parse(utcString);} catch (ParseException e) { e.printStackTrace();} ..
2025.03.31 -
Kotlin에서 == vs === 차이
주말마다 진행하는 프로그래머스 스터디에서는 다양한 언어가 공존한다.Kotlin, C#, Swift, JavaScript.여기서 JavaScript 소스코드를 보는데 “===” 연산자가 나왔다.Kotlin에도 해당 연산자가 있는지 찾아보았다. 1. == (Structural Equality - 구조적 동등성)두 객체의 값이 같은지 확인할 때 사용한다.내부적으로 equals() 함수를 호출한다.즉, 내용만 같으면 true가 나온다.예제data class Person(val name: String)fun main() { val person1 = Person("개발새발") val person2 = Person("개발새발") println(person1 == person2) // ✅ true ..
2025.03.18 -
Kotlin에서 유용한 고차 함수 정리
나는 C언어, Java로 코딩을 처음 배워서 그런가 함수형 언어에는 익숙해지지 않는다.Kotlin의 최대 장점인 고차 함수도 제대로 활용하지 못해 코딩테스트 공부를 할 때 애를 많이 먹었다.그래서 유용한 고차 함수들을 정리해봤다.1. map - 리스트 변환할 때 사용❌ Java 스타일List names = new ArrayList();for (User user : users) { names.add(user.getName());}✅ Kotlin 스타일 (고차 함수 사용)val names = users.map { it.name }2. filter - 특정 조건의 요소만 선택❌ Java 스타일List adults = new ArrayList();for (User user : users) { if (..
2025.02.27