목록전체 글 (52)
Done is better than perfect
객체 지향 언어: Java는 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 패러다임을 따릅니다. 클래스와 객체를 기반으로 코드를 구조화하며, 상속, 다형성, 캡슐화, 추상화 등의 OOP 개념을 지원합니다.상속(Inheritance) : 하위클래스에서 물려받는 것캡슐화(Encapsulation) : 외부에서 접근 못하는 것다형성(Polymorphism) : 하나의 인터페이스나 클래스가 여러 형태를 갖는것 추상화(Abstraction) : 불필요한 세부 사항 감추는 것 플랫폼 독립성: "Write Once, Run Anywhere"라는 철학을 따릅니다. 즉, 한 번 작성한 코드를 JVM(Java Virtual Machine)만 설치되어 있으면 어떤 플랫폼에서도 실행할 수 ..
React란?Facebook에서 개발한 자바스크립트 라이브러리, 사용자 인터페이스를 구축하는 데 사용 참고) 프레임워크가 아님! React의 원리 1. Virtual DOM- 메모리 상에서 가장의 DOM을 관리한다 - 실제 DOM을 바로 수정하지 않고 Virtual DOM을 먼저 변경한다 2. Reconciliation - React는 Fiber Reconciliation Algorithm을 사용한다 3. 컴포넌트 기반 아키텍처- 재사용성과 유지보수성 향상 4. 단방향 데이터 흐름 - 예측 가능성을 증가시키고, 디버깅을 용이하게 만든다 - 하위 컴포넌트에서 데이터를 직접 변경 못한다 5. Hooks- 함수형 컴포넌트에서도 상태 관리 및 라이프사이클 기능을 사용할 수 있도록 도와주는 기능 참고) 함..
React-query란?React Application에서 서버 상태를 불러오고, 캐싱하며, 지속적으로 동기화하고 업데이트하는 작업을 도와주는 라이브러리 React Query를 쓰는 이유- 복잡하고 장황한 코드가 필요한 다른 데이터 불러오기 방식과 달리 React Component 내부에서 간단하고 직관적으로 API를 사용할 수 있음 - 서버 데이터와 클라이언트 데이터를 분리하고 싶을 때 유용함 useQuery란?React Query 라이브러리에서 제공하는 훅으로, 서버에서 데이터를 가져오고 캐싱, 상태관리, 자동 업데이트 등을 효율적으로 처리 가능 주요 매개변수 queryKey: 쿼리의 고유 키 역할을 하며 배열 형태로 설정됨 queryFn: 데이터를 가져오는 함수 staleTime(선택사항):..

Java에서는 데이터를 저장할 때 기본자료형과 래퍼클래스를 사용할 수 있다. ✨차이점 ✨예시들✨왜 Wrapper Class를 사용하지?컬렉션에 저장할 때 필요null 값을 저장해야할 때객체 지향 프로그래밍에서 필요✨오토박싱과 언박싱?기본 자료형(Primitive Type)과 래퍼 클래스(Wrapper Class) 간의 자동 변환을 의미합니다. 오토박싱 (Auto-Boxing): 기본 자료형 → 래퍼 클래스 객체로 자동 변환언박싱 (Unboxing): 래퍼 클래스 객체 → 기본 자료형으로 자동 변환 주의점: null 값은 언박싱 시 NullPointerException 발생 결론: Wrapper Class는 null을 다루어야할 때 사용하는게 좋음
오브젝트마지막 걸음은 앞에서 설명한 개념들을 여러분이 사용하는 프로그래밍 언어라는 틀에 흐트러짐 없이 담아낼 수 있는 기술을 익히는 것이다. 《객체지향의 사실과 오해》가 첫번째 걸음과 두번째 걸음인 객체와 협력에 초점을 맞췄다면 《오브젝트: 코드로 이해하는 객체지향 설계》는 세번째와 네번째 걸음인 책임의 할당과 그 구현에 초점을 맞춘다. 이 책을 읽고 나면 객체에 적절한 역할과 책임을 부여하는 방법과 유연하면서도 요구사항에 적절한 협력을 설계하는 방법을 익히게저자조영호출판위키북스출판일2019.06.17 절차형 패러다임 → 객체지향 패러다임프로그래밍 패러다임 : 개발자 공동체가 동일한 프로그래밍 스타일과 모델을 공유할 수 있게 하는 것 1장 객체, 설계모든 모듈은 제대로 실행돼야 하고, 변경이 용이해야 ..

주요 특징간결함: Kotlin은 Java보다 더 적은 코드로 동일한 작업을 수행할 수 있습니다. 예를 들어, getter/setter 메서드나 특정 패턴을 위한 반복적인 코드를 자동으로 처리할 수 있습니다.안전성: Kotlin은 NullPointerException을 방지하기 위해 null-safety를 지원합니다. Java에서는 null로 인한 예외가 자주 발생하지만, Kotlin에서는 null을 명시적으로 처리해야 하므로 이런 예외를 줄일 수 있습니다.함수형 프로그래밍 지원: Kotlin은 고차 함수, 람다 표현식 등을 지원하여 함수형 프로그래밍 스타일을 사용할 수 있게 해줍니다. 이를 통해 더 선언적이고 간결한 코드를 작성할 수 있습니다.완벽한 Java 호환성: Kotlin은 Java와 완전히 호환..
HashMap의 장점: 데이터 추가, 삭제 특히 검색이 빠름! import java.util.HashMap;//HashMap 생성방법HashMap example = new HashMap( ); //데이터 추가example.put("key1", "value");exmaple.putIfAbsent("key2", "value"); //key가 없으면 저장하기//데이터 수정example.replace("key1", "cc");//데이터확인System.out.println(example.containsKey("key1"));//사이즈System.out.println(example.size());//데이터 반환System.out.println(example.get("key1"));//모든 keySetSet s=e..
백준 2468번 풀면서 정리함package P2468;import java.io.*;import java.util.*;class Node{ int x; int y; public Node(int x, int y) { this.x = x; this.y = y; } @Override public String toString() { return "Node [x=" + x + ", y=" + y + "]"; }}public class Main { static int N; static int max; static int ans; static int[][] map; static boolean[][] visited; static int[] dx= {-1, 0, 1, 0}; static int[] dy= {0, ..