본문 바로가기

분류 전체보기189

[Java] Composition vs Inheritance — 언제 써야 하나? 🧠 Composition vs Inheritance — 언제 써야 하나?✅ 1. 기본 개념 정리📌 Inheritance (상속)"is-a" 관계일 때 사용한 클래스가 다른 클래스의 필드와 메서드를 상속받아 확장계층 구조를 형성하며 코드 재사용에 유리class Animal { void eat() { System.out.println("eating..."); }}class Dog extends Animal { void bark() { System.out.println("bark!"); }}✅ Dog is-a Animal → 올바른 상속📌 Composition (구성)"has-a" 관계일 때 사용클래스 내부에 다른 클래스의 인스턴스를 필드로 포함시켜 사용상속보다 유연하며, 역할 분리와 기능 조.. 2025. 4. 2.
[Java] Java에서 배열 생성과 객체 생성의 차이 정리 ✅ 핵심 요약Student[] students = new Student[10];🔹 배열 객체를 생성한 것 (크기 10짜리)🔹 아직 Student 객체는 하나도 존재하지 않음🔹 내부에는 null 값이 10개 들어 있음students[0] = new Student();🔹 진짜로 Student 객체를 생성해서 배열의 첫 번째 칸에 넣는 것✅ 1. 배열 생성: new는 "공간"만 만든다Student[] students = new Student[3];students는 참조형 배열이며,내부에는 Student 객체가 아닌 null이 3개 들어 있음:students = [null, null, null]즉, "객체를 담을 수 있는 칸만 만든 상태"이고,각 칸에 실제 객체를 넣으려면 따로 new 해야 함.✅ 2. .. 2025. 4. 2.
[MySQL] SELECT 절의 처리 순서 SELECT 절의 처리 순서MySQL에서 SELECT 쿼리는 우리가 작성한 순서대로 실행되지 않고, 내부적으로는 다음과 같은 순서로 처리됩니다.✅ SELECT 절의 처리 순서 (논리적 처리 순서, Logical Query Processing Order)처리 순서절설명1FROM테이블/뷰를 로딩2ON조인 조건을 적용 (JOIN 사용 시)3JOIN실제 조인 수행4WHERE로우(행) 필터링 – 그룹 이전5GROUP BY지정된 컬럼 기준으로 그룹핑6WITH CUBE / ROLLUP집계 연산 보조 옵션 (선택 사항)7HAVING그룹핑 결과 필터링8SELECT반환할 컬럼 및 표현식 선택9DISTINCT중복 제거10ORDER BY결과 정렬11LIMIT결과 개수 제한 (OFFSET 포함 가능)1. 🔍 SELECT 절의.. 2025. 4. 1.
[Java] 문자열을 검사하는 방법 - String isEmpty(), isBlank(), null 체크 ✅ isEmpty(), isBlank(), null 체크 정리검사 방법설명예시 코드주의 사항str.isEmpty()문자열의 길이가 0이면 true"".isEmpty() → true" ".isEmpty() → falsestr == null이면 NullPointerException 발생str.isBlank() (Java 11+)문자열이 공백만 포함되거나 비어 있으면 true"".isBlank() → true" ".isBlank() → true"\n\t".isBlank() → truestr == null이면 NullPointerException 발생str == null문자열이 null 객체인지 확인str == null → true.isEmpty()나 .isBlank() 호출하면 예외 발생하므로 먼저 체크 필요.. 2025. 4. 1.
[Database] 데이터베이스 용어 정리 ✅ 데이터베이스 용어 정리 1. 데이터베이스(Database)데이터를 조직적으로 저장하고 다룰 수 있게 해주는 저장소.보통은 DBMS(Database Management System)를 통해 조작.✅ 관계형 데이터베이스(RDBMS) vs 비관계형(NoSQL)2. 테이블(Table) = 릴레이션(Relation)관계형 모델에서 데이터를 표현하는 핵심 단위.행(Row)와 열(Column)로 구성됨.하나의 테이블은 하나의 엔터티(Entity)를 표현 (예: 고객, 주문 등).✅ MySQL vs OracleMySQL은 테이블 명 대소문자 구분 여부가 OS에 따라 다름 (Linux는 구분, Windows는 구분 안 함).Oracle은 항상 대소문자 구분 안 함.3. 행(Row) = 튜플(Tuple)테이블의 한 줄.. 2025. 3. 27.
[Network] 포트에 따른 서버 및 서비스 구분 🔍 포트에 따른 서버 및 서비스 구분: 기술적으로 자세한 설명💡 핵심 개념 먼저 짚고 넘어가자:서버(Host): 하나의 물리적 또는 가상 시스템 (예: Ubuntu 머신)포트(Port): 서버 내에서 네트워크 서비스를 구분하는 논리적 통로 (0~65535번)SSH 데몬(sshd): SSH 접속 요청을 처리하는 서버 측 백그라운드 서비스포트포워딩: 외부에서 들어오는 포트 요청을 내부의 특정 IP와 포트로 우회시키는 기능🧠 사례별 설명① 같은 서버에서 여러 포트에 SSH 서비스 실행 (직접 설정)# /etc/ssh/sshd_config 내용 예시Port 22Port 2222이 설정은 같은 Ubuntu 서버에서 SSH 서비스를 22번과 2222번 포트 둘 다 수신하도록 설정한 것이다.이 경우, 외부에서 .. 2025. 3. 27.