Programming

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..
타임리프(Thymeleaf)를 사용하여 공통적인 레이아웃을 분리하는 방법은 여러 파일로 나누어 유지보수성과 재사용성을 높이는 데 매우 유용합니다. 이를 위해 타임리프의 레이아웃 기능을 사용할 수 있습니다. 가장 일반적인 접근 방식은 "프래그먼트" 기능을 사용하는 것입니다. 1. 공통 레이아웃 파일 생성먼저, 공통 레이아웃 파일을 생성합니다. 이 파일은 헤더, 푸터 등 공통 요소를 포함합니다.layout.html  2. 헤더와 푸터 프래그먼트 파일 생성헤더와 푸터 부분을 별도의 파일로 분리합니다.fragments/header.html ..
타임리프 HTML5 기본 구조 헤더 제목 Home About Contact 섹션 제목 섹션 내용 푸터 내용  xmlns:th="http://www.thymeleaf.org":HTML 태그에 타임리프 네임스페이스를 추가하여 타임리프 속성을 사용할 수 있게 합니다.th:text:태그의 텍스트 내용을 동적으로 설정합니다. 예를 들어, 헤더 제목는 headerTitle 변수가 가진 값으로 태그의 텍스트를 대체합니다.th:href:앵커 ..
HTML 텍스트 형식HTML에는 특별한 의미를 지닌 텍스트를 정의하기 위한 여러 요소가 포함되어 있습니다.   - 굵은 텍스트This text is bold" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스This text is bold   - 중요한 텍스트This text is important!" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스This text is important!   - 기울임꼴 텍스트 (기술 용어, 다른 언어의 문구, 생각, 선박 이름 등을 나타내는 데 자주 사용)This text is italic" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스This text is italic   - 강조된 텍스트T..
HTML 속성This is a link This is a red paragraph. This is a paragraph. 큰 따옴표? 작은 따옴표?속성 값을 묶는 큰따옴표는 HTML에서 가장 일반적이지만 작은따옴표도 사용할 수 있습니다.일부 상황에서는 속성 값 자체에 큰따옴표가 포함되어 있으면 작은따옴표를 사용해야 합니다.  HTML 제목HTML 제목은 웹페이지에 표시하려는 제목이나 부제목입니다.Heading 1Heading 2Heading 3Heading 4Heading 5Heading 6참고: 브라우저는 제목 앞뒤에 공백(여백)을 자동으로 추가합니다.참고: HTML 제목은 제목에만 사용하세요. 텍스트를 크게 또는 굵게 표시하기 위해 제목을 사용하지 마세요. HTML 단락단락은 항상 새 줄에..
베니코드
'Programming' 카테고리의 글 목록 (2 Page)