Java

OOPS란?OOPs는 Object-Oriented Programming System(객체 지향 프로그래밍 시스템)의 약자로, 객체 지향 프로그래밍은 데이터와 그 데이터를 조작하는 방법을 하나의 단위로 묶어 객체라는 개념을 사용하여 소프트웨어를 설계하고 구현하는 방식입니다. 클래스와 객체 (Class and Object)클래스(Class): 클래스는 객체를 만들기 위한 설계도 혹은 틀입니다. 클래스는 데이터(속성, 필드)와 메소드(함수)로 구성되며, 객체의 초기 상태를 정의합니다.// 예시: Person 클래스public class Person { // 필드(속성) private String name; private int age; // 생성자 public Person(S..
Immutability(불변성)이란?불변성(Immutability)은 객체의 상태가 생성된 후 변경할 수 없는 성질을 말합니다. 즉, 한 번 생성된 객체의 상태는 그대로 유지되며, 변경할 수 없습니다. 이는 객체의 내부 상태(fields)가 변경되지 않음을 의미합니다. 불변 객체(Immutable Object) 특성불변 객체(Immutable Object)는 다음과 같은 특성을 가집니다:객체의 상태 변경 불가능: 객체가 한 번 생성되면 내부 상태는 변하지 않습니다. 따라서 객체의 모든 필드(fields)는 final로 선언되거나, 필드가 변경되지 않도록 해야 합니다.데이터 보호: 불변 객체는 내부 상태가 변하지 않기 때문에 다른 객체나 외부에서 객체의 상태를 변경할 수 없습니다. 이는 코드의 안정성을 높..
hashCode() 메소드hashCode() 메소드는 객체의 해시 코드를 반환합니다.해시 코드는 객체의 메모리 주소가 아닌 객체의 고유한 정수 값입니다.Java 컬렉션 프레임워크(예: HashMap, HashSet 등)에서는 객체를 해시 테이블에 저장할 때 hashCode() 값을 사용하여 저장 위치를 결정하고, equals() 메소드로 동등성을 비교합니다.hashCode() 메소드는 일반적으로 객체의 내부 상태(fields)를 기반으로 계산된 값입니다. 따라서 동일한 내용을 가진 객체들은 같은 해시 코드를 반환해야 합니다.만약 두 객체가 equals() 메소드로 동등하다면, 반드시 hashCode() 값도 같아야 하지만, hashCode() 값이 같다고 해서 equals() 메소드로 동등하다고 보장되지..
·Programming
디자인 패턴은 소프트웨어 개발에서 자주 반복되는 문제를 해결하기 위한 템플릿 솔루션을 제공합니다. 싱글톤 패턴, 팩토리 패턴, 리포지토리 패턴은 각각 다른 목적과 사용 사례를 가지고 있습니다. 아래에 각 패턴의 개념과 차이점을 설명하겠습니다.싱글톤 패턴 (Singleton Pattern)개념목적: 클래스의 인스턴스가 오직 하나만 생성되도록 보장하고, 이 인스턴스에 대한 전역적인 접근을 제공하는 패턴입니다.사용 사례: 로깅, 설정 파일 관리, 스레드 풀, 데이터베이스 연결 관리 등 하나의 인스턴스만 필요한 경우.예시public class Singleton { private static Singleton instance; private Singleton() { // private 생성..
AOP란?AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)는 소프트웨어 개발 패러다임 중 하나로, 프로그램의 핵심 기능에 직접 관련되지 않은 부가적인 관심사(관점, Aspect)를 분리하여 모듈화하는 기법입니다. AOP는 주로 로깅, 보안, 트랜잭션 관리 등과 같은 공통 기능을 여러 모듈에 중복 없이 일관되게 적용할 수 있도록 합니다. 주요 개념Aspect (관점): 핵심 비즈니스 로직과는 분리되어 모듈화된 부가적인 기능을 의미합니다. 예를 들어, 로깅, 보안, 트랜잭션 관리 등이 있습니다.Join Point (조인 포인트): Aspect가 적용될 수 있는 실행 지점을 의미합니다. 메서드 호출, 객체 생성, 예외 발생 등이 조인 포인트가 될 수 있습니다.Advice (어드..
Java에서 URI와 URL은 둘 다 자원의 위치를 나타내기 위해 사용되지만, 둘 사이에는 몇 가지 중요한 차이점이 있습니다.URI (Uniform Resource Identifier)URI는 인터넷 자원의 식별자를 나타내는 일반적인 용어입니다. URI는 URL과 URN(Uniform Resource Name)을 모두 포함하는 개념입니다.형식: URI는 scheme, authority, path, query, fragment의 다섯 가지 구성 요소로 이루어집니다.예시: http://example.com:8080/docs/resource1.html?name=example#section2scheme: httpauthority: example.com:8080path: /docs/resource1.htmlque..
Spring Boot에서 기본 URL (예: "/")에서 특정 URL (예: "/home")로 리다이렉션하려면,컨트롤러 메서드에서 return 값으로 redirect: 접두사를 사용하면 됩니다. 아래 예제를 통해 어떻게 하는지 설명하겠습니다.1. 리다이렉션을 위한 컨트롤러 메서드 작성기본 URL로 요청이 들어왔을 때 다른 URL로 리다이렉션하는 컨트롤러를 작성합니다.src/main/java/com/example/demo/RedirectController.javapackage com.example.demo;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Contr..
1. length - arrays(int[], double[], String[]) - length는 배열의 길이를 알고자 할때 사용 2. length() - String related Object(String, StringBuilder etc) - length()는 문자열의 길이를 알고자 할때 사용 3. size() - Collection Object(ArrayList, Set etc) - size()는 컬렉션프레임워크 타입의 길이를 알고자 할때 사용  // 사용 예시int[] a = new int[7];System.out.println(a.length); // 7 String b = "qwertasdfg";System.out.println(b.length()); // 10ArrayList ..
// int to charchar a = (char)(int_value + '0'); // '0' 을 더하지 않으면 ascii 값 1 (인쇄 할 수 없는 머리글 시작 문자?)로 문자를 인쇄해서 잘못 된 값이 나옴char a = Character.forDigit(int_value, 10); // 10 = 10진수를 의미// int to char arraychar[] a = ("" + int_value).toCharArray();// List to int[]list.stream().mapToInt(Integer::intValue).toArray();
// int 배열 선언int[] z = {};int[] c = new int[queries.length];int[] a = {0, 4, 2};int[][] aa = {{0, 4, 2},{0, 3, 2},{0, 2, 2}};ArrayList arrayList = new ArrayList(Arrays.asList(1, 3, 5, 2, 4));// 배열 자르고 복사import java.util.Arrays;int[] b = Arrays.copyOf(a, count); // 인덱스 0부터 원하는 길이만큼 복사int[] b = Arrays.copyOfRange(a, startIndex, endIndex + 1); // 특정 범위만큼 복사// 배열을 스트림으로 변환 or 자르고 변환import java.util.s..
베니코드
'Java' 태그의 글 목록 (2 Page)