Java 13

집합(Set) 개념과 활용: 일반 개념, Java, Python, 데이터베이스 비교

📌 집합(Set) 개념과 활용: 일반 개념, Java, Python, 데이터베이스 비교집합(Set)은 수학적 개념에서 출발하여, 프로그래밍(Java, Python)과 데이터베이스(SQL)에서 다양한 방식으로 활용됩니다.이 개념을 확실히 이해하면 데이터 처리와 알고리즘, 데이터베이스 조인(Join) 등에서 매우 유용합니다! 🚀1️⃣ 일반적인 집합(Set) 개념집합은 여러 개의 원소(Element)를 모아둔 것으로, 다음과 같은 특징을 가집니다.✅ 집합의 특징중복을 허용하지 않음 → {1, 2, 2, 3} → {1, 2, 3}순서가 없음 → {3, 1, 2}와 {1, 2, 3}은 동일집합 연산이 가능 → 합집합(∪), 교집합(∩), 차집합(−), 대칭 차집합(△)✅ 집합 연산 예시연산기호의미합집합A ∪ ..

카테고리 없음 2025.03.05

JPA 연관관계 매핑 정리

🔹 JPA 연관관계 매핑 정리JPA에서 연관관계를 매핑하는 방식은 총 4가지입니다.🏷️ 1. @OneToOne (1:1 관계)특징: 한 엔터티가 다른 엔터티와 1:1로 매핑되는 관계예제: 사용자(User)와 주소(Address)매핑 방법:@OneToOne@JoinColumn(name = "address_id") // FK 지정private Address address;설명: 한 사용자는 하나의 주소만 가질 수 있음 (예: 집 주소)🏷️ 2. @ManyToOne (N:1 관계)특징: 여러 개의 엔터티가 하나의 엔터티와 매핑되는 관계예제: 장바구니(Cart)와 회원(Member)매핑 방법:@ManyToOne@JoinColumn(name = "member_id") // FK 지정private Member..

웹 개발 2025.02.25

클래스란?

Java 클래스 정리1. 클래스의 정의클래스(Class)는 객체를 생성하기 위한 청사진(Template) 또는 설계도입니다.클래스는 속성(멤버 변수)과 동작(메서드)을 정의하며, 이들을 기반으로 객체를 생성합니다.2. 클래스의 구성 요소필드(Field): 객체의 속성을 나타내는 변수.클래스 내부에 선언된 변수로, 객체의 데이터를 저장합니다.예) String name, int age.메서드(Method): 객체가 수행할 동작(기능)을 정의.특정 작업을 수행하는 코드 블록.예) void run(), int getAge().생성자(Constructor):객체 생성 시 호출되는 특수한 메서드.클래스와 이름이 같고 반환 타입이 없음.객체 초기화에 사용.접근 제어자(Access Modifier):클래스 멤버(필드,..

추상 클래스

abstract는 Java에서 추상화(Abstraction)를 구현하는 데 사용되는 키워드로, 클래스 또는 메서드에 적용됩니다. 이를 통해 코드의 공통적인 구조를 정의하고, 세부적인 구현은 하위 클래스에서 처리하도록 강제할 수 있습니다. 아래에서 추상 클래스, 추상 메서드, 그리고 추상 변수에 대해 자세히 설명하겠습니다.1. 추상 클래스 (Abstract Class)1.1. 정의추상 클래스는 abstract 키워드로 선언된 클래스입니다.직접 객체를 생성할 수 없으며, 상속을 통해 자식 클래스가 이를 구현해야 합니다.공통된 동작과 구체적인 동작을 함께 정의할 수 있습니다.추상 클래스는 추상 메서드뿐만 아니라 일반 메서드도 포함할 수 있습니다.1.2. 특징인스턴스화 불가: 추상 클래스는 직접 객체를 생성할 ..

객체와 인스턴스 이해

객체(Object)의 개념객체(Object)는 프로그래밍에서 데이터와 그 데이터를 조작하는 메서드(동작)를 하나로 묶은 독립적인 단위입니다. 현실 세계의 사물이나 개념을 소프트웨어로 표현한 것으로, 상태(속성)와 행동(기능)을 가집니다. 객체 지향 프로그래밍(OOP, Object-Oriented Programming)의 핵심 요소 중 하나입니다.1. 객체의 구성 요소객체는 다음 두 가지로 구성됩니다:1) 속성 (Attributes)객체가 가지고 있는 데이터 또는 상태를 나타냅니다.클래스에서 정의된 변수(필드)에 해당합니다.예: 자동차 객체의 속성 → 색상, 속도, 모델명2) 행동 (Behaviors)객체가 할 수 있는 동작 또는 기능을 나타냅니다.클래스에서 정의된 메서드에 해당합니다.예: 자동차 객체의 ..

문자열 추출하기 - indexOf(), substring()

특정 문자열 추출하는 방법.package ch09utility;public class GetName2 { public static void main(String[] args) { final String what = "유재석"; String target = "유재석강호동유재석김철수강호동"; System.out.println("문자열 원본 : " + target); int cnt = 0; // 발견된 횟수(count) int idx = -1; int len = what.length(); //문자열 길이 while (true){ idx = target.indexOf(what); //indexOf로 ..

랜덤 숫자 만들기 - Random(), nextInt()

Random() 생성자와 nextInt() 메서드//임의의 값을 추출하는 도움을 주는 유틸리티 클래스.for (int i = 1; i 1. Random() 생성자rand = new Random(); //java.utillRandom()은 java.util 유틸리티 패키지에 포함된 Random 클래스의 생성자이다.2. nextInt() 메서드jusawee[j] = rand.nextInt(6)+1; // 1부터 6까지의 숫자를 랜덤하게 할당. 첫 숫자와 끝 숫자에 +1을 해준다. 그래서 0부터 5까지에서 1부터 6까지가 된다.jusawee[j] = rand.nextInt(6); // 0부터 5까지의 임의의 정수값을 대입.nextInt()는 java.util 유틸리티 패키지에 포함된 Random 클래스의 난수..

java.lang 패키지(암시적 import)

1. java.lang 패키지java.lang은 Java 프로그래밍에서 기본적으로 사용되는 클래스를 포함하는 패키지이다.이 패키지는 import 키워드를 사용하지 않아도 자동으로 포함된다.즉, 모든 클래스에서 java.lang의 클래스나 인터페이스를 바로 사용할 수 있다.2. java.lang에 포함된 주요 클래스(1) 기본 자료형 래퍼 클래스:IntegerDoubleFloatBooleanCharacterLongByteShort(2) 유틸리티 클래스:Math (수학 연산)String (문자열 처리)StringBuilder, StringBuffer (문자열 조작)Object (모든 클래스의 최상위 클래스)System (입출력, 환경 설정 관련)(3) 스레드 및 동기화 클래스:ThreadRunnableThr..

기본생성자와 암시적 생성자

기본 생성자와 암시적 생성자는 서로 밀접하게 연관된 개념이지만, 미묘한 차이가 있습니다. 아래에서 두 개념을 비교하며 설명하겠습니다.1. 기본 생성자 (Default Constructor)정의: 클래스에 명시적으로 작성된 매개변수가 없는 생성자입니다.개발자가 명확히 코드로 작성한 생성자를 기본 생성자라고 부릅니다.특징:생성자의 이름은 클래스 이름과 같아야 함.반환 타입이 없음.매개변수가 없으며, 필요에 따라 초기화 코드 작성 가능.명시적으로 작성되므로, 작성된 내용이 컴파일러에 의해 추가되지 않음.예제:public class DefaultConstructorExample { // 기본 생성자 (명시적으로 작성) public DefaultConstructorExample() { Sy..