Java 개발자가 Kotlin을 쓰면서 체감하는 진짜 차이
·
Backend/Java, Kotlin
Null 처리 방식의 차이: 런타임 방어 vs 컴파일 타임 강제Java에서 NullPointerException은 “조심하면 피할 수 있는” 문제가 아니라, 구조적으로 발생하기 쉬운 런타임 리스크다. 결국 방어 코드가 늘어나고, 리뷰 포인트도 null 체크로 채워진다.Javapublic String getUserEmail(User user) { if (user != null && user.getProfile() != null) { return user.getProfile().getEmail(); } return "unknown";}Kotlinfun getUserEmail(user: User?): String = user?.profile?.email ?: "unknown"..
[프로그래머스 JAVA] K번째수
·
알고리즘, 코딩테스트/프로그래머스
문제 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 풀이 Arrays.copyOfRange 메서드를 이용해 array[]에서 원하는 영역을 잘라 복사하여 temp[]에 저장 저장된 temp[] 배열에서 원하는 k번째의 수를 answer[] 배열에 순서대로 저장 후 리턴 소스코드 import java.util.Arrays; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer =..
[프로그래머스 JAVA] 완주하지 못한 선수
·
알고리즘, 코딩테스트/프로그래머스
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 풀이 방법 1 sort + loop 이용하여 풀이 사실 이번 문제는 해시 문제여서 HashMap을 더 공부하고 풀이 방법을 추가해서 올려야 할 듯하다. import java.util.Arrays; public class Programmers_42576 { public static void main(String[] args) { St..
[프로그래머스 JAVA] 숫자 문자열과 영단어
·
알고리즘, 코딩테스트/프로그래머스
문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다. 숫자영단어 0 zero 1 one 2 two 3 three 4 four 5 five 6 six 7 s..
[JAVA] static 변수와 static 메소드
·
Backend/Java, Kotlin
static은 보통 변수, 메서드 앞에 사용합니다. static 변수 (정적 변수) 메모리에 고정적으로 할당되어, 프로그램이 종료될 때 해제되는 변수 1) 메모리의 효율 증가 아래 예제를 살펴보자. public class StoreChoi{ static String lastname = "최"; public static void main(String[] args){ StoreChoi store1 = new StoreChoi(); StoreChoi store2 = new StoreChoi(); } } 위와 같이 lastname 변수에 static 키워드를 붙이면 자바는 메모리 할당을 딱 한번만 하게 된다. 따라서 메모리 사용에 이점을 볼 수 있다. (여기서 만약 static 키워드 앞에 final 키워드를 ..
[JAVA] 함수 (메서드)란?
·
Backend/Java, Kotlin
함수 (메서드) : 프로그래밍에서 반복되는 명령어들을 찾아 별도로 묶어서 필요할때 마다 불러 사용할 수 있도록 한것 클래스 안에 선언된 함수를 "메서드"라고 부른다. 이벤트를 처리하는 함수를 "이벤트 핸들러"라고 부른다. 프로시저(Procedure), function 함수 선언 형식 [접근지정자] [기타제어자] 리턴자료형 함수명([매개변수...]){ 명령코딩; 명령코딩; [return 리턴값;] }​ 코딩량이 줄어든다. -> 컴파일 용량이 줄어든다. -> 실행 성능 향상 코드 가독성 좋아지고, 유지보수 용이 팀 작업 -> 개발 생산성 향상 -> 수익