전체 글 (190) 썸네일형 리스트형 Java - 정렬 알고리즘 Java 정렬 알고리즘(Sorting Algorithms)자바에서 사용되는 정렬 알고리즘에는 여러 가지가 있으며, 각 알고리즘은 서로 다른 방식과 성능 특성을 가지고 있다.대표적인 정렬 알고리즘은 아래와 같다. 버블 정렬(Bubble Sort)선택 정렬(Selection Sort)삽입 정렬(Insertion Sort)퀵 정렬(Quick Sort)병합 정렬(Merge Sort)힙 정렬(Heap Sort) 퀵 정렬(Quick Sort)기준 원소(pivot)을 선택하여 기준 원소보다 작은 원소들은 왼쪽에, 큰 원소들은 오른쪽에 배치하고 재귀적으로 이 과정을 반복한다. 특징시간 복잡도: 평균적으로 O(n log n), 최악의 경우 O(n^2) - 피벗 선택에 따라 다름공간 복잡도: O(log n) - 재귀 호출.. Java - 날짜와 시간 김영한 중급 자바 1편 강의 참조 날짜와 시간날짜와 시간 라이브러리의 필요성1. 날짜와 시간 차이 계산특정 날짜에서 다른 날짜까지의 정확한 일수 계산은 윤년, 각 달의 일수 등을 모두 고려해야 하며, 간단한 연산으로는 정확한 결과를 얻기 힘듬2. 윤년 계산윤년 계산은 간단해 보이지만 실제로 매우 복잡하다, 보통 4년마다 한 번씩 발생하지만, 100년 단위일 때는 윤년이 아니며, 400년 단위일 때는 다시 윤년이다.3. 일광절약 시간(Daylight Saving Time, DST) 변환보통 3월에서 10월은 태양이 일찍 뜨고, 나머지는 태양이 상대적으로 늦게 뜨기 때문에 시간도 여기에 맞춰 앞당기거나 늦추는 제도를 일광 절약 시간제 또는 썸머타임이라 한다.일광 절약 시간은 국가나 지역에 따라 적용 여부와 .. Java - ENUM 참조 - 김영한의 실전 자바 중급 1편 ENUM자바는 타입 안전 열거형 패턴(Type-Safe Enum Pattern)을 매우 편리하게 사용할 수 있는 열거형(Enum Type)을 제공한다. enum은 열거형 상수를 정의하는 특별한 클래스로 열거형을 사용하면 상수 값을 하나의 그룹으로 묶어 처리할 수 있어 코드의 가독성과 유지보수성을 높일 수 있다.타입 안전 열거형 패턴(Type-Safe Enum Pattern)의 장단점장점타입 안정성 향상: 정해진 객체만 사용할 수 있기 때문에, 잘못된 값을 입력하는 문제를 근본적으로 방지할 수 있다.데이터 일관성: 정해진 객체만 사용하므로 데이터의 일관성이 보장된다.제한된 인스턴스 생성: 클래스는 사전에 정의도니 몇 개의 인스턴스만 생성하고, 외부에서는 이 인스턴스.. WIL 보호되어 있는 글입니다. Java - Wrapper, Class, System, Math, Random 래퍼 클래스(Wrapper Class)기본 데이터 타입(primitive data type)을 객체(object)로 다루기 위해 제공되는 클래스를 말함자바의 모든 기본 데이터 타입에는 해당하는 Wrapper 클래스가 있으며, 이는 java.lang 패키지에 포함되어 있다. Wrapper Classboolean → Booleanchar → Characterbyte → Byteshort → Shortint → Integerlong → Longfloat → Floatdouble → Double기본형(Primitive Type)의 한계객체가 아님: 기본형 데이터는 객체가 아니기 때문에, 객체 지향 프로그래밍의 장점을 살릴 수 없다(객체는 유용한 메서드를 제공할 수 있지만 기본형은 안 됨).객체 참조가 필요한 컬.. String 클래스 String 클래스 - 기본자바에서 문자를 다루는 대표적인 타입은 char, String 2가지가 있다.기본형인 char는 문자 하나를 다룰 때 사용되며, char를 사용해 여러 문자를 나열하려면 char[] 사용해야 한다.하지만 char[]를 직접 다루는 것은 매우 불편하기 때문에 자바는 문자열을 매우 편리하게 다룰 수 있는 String 클래스를 제공한다. String 클래스 문자열 생성 방법package lang.string;public class StringBasicMain { public static void main(String[] args) { String str1 = "hello"; String str2 = new String("hello"); Sy.. 프로젝트 코드 리팩토링 개요항해 99 기간의 실전 프로젝트의 6주 기간동안 애플리케이션의 정상적인 동작과 유저 테스트를 위해 코드를 짜고 오류가 발생하면 수정하는 데 쫓기다 보니 코드의 가독성이나 불필요한 중복 등의 문제를 신경 쓰지 못했고, 프로젝트 기간 이후에 유저 피드백을 통한 개선과 프로젝트 코드 리팩토링을 진행하기로 했다. 파트웹 게임 프로젝트를 만들었고, 그 중에서 게임 로직 관련 코드를 작성했기 때문에 내가 작성한 코드에 대한 리팩토링을 진행하고 개선 사항을 적용하기로 했다. 코드 리팩토링(Code Refactoring) 기존 코드의 기능을 그대로 유지하면서 코드의 구조를 개선하는 과정 주요 목적코드의 가독성, 유지보수성, 확장성을 높이는 것 주요 리팩토링 기법함수 추출(Extract Method): 길고 복잡한 .. WIL-17 Fact : 이번주 있었던 일, 내가 한 일월 : 휴식화 : 팀 프로젝트 리팩토링 관련 회의수 : Java Object 강의 수강목 : 휴식금 : Java 불변 객체 강의 수강토 : 휴식Feeling : 나의 감정적인 반응, 느낌항해 수료 이후에도 개발에 관해서 꾸준하게 공부하는 게 꽤 어려운 거 같다.Finding : 그 상황으로부터 내가 배운 것, 얻은 것힘들어도 꾸준하게 공부하는 습관을 가지는 게 장기적으로 좋다는 것을 배움Future : 배운 것을 미래에 어떻게 적용할 것인가취업 준비를 하면서도 개인 공부를 병행해서 자기 개발을 계속할 것임 이전 1 ··· 3 4 5 6 7 8 9 ··· 24 다음