본문 바로가기
반응형

Java19

[java] 다형성 다형성이란?같은 타입의 변수가 다양한 객체를 참조할 수 있게 하는 개념을 의미한다.주로 자동형변환+재정의(오버라이딩)으로 이루어 지며, 이로 인해 코드 유연성과 확장성의 효과를 볼 수 있다.다형성은 OOP(객체지향프로그래밍) 원칙 중의 하나로 주요 기술중에는 인터페이스가 있다. 예시:Animal 인터페이스package ex;public interface Animal { void sound();} Cat 클래스package ex;public class Cat implements Animal { public void sound() { System.out.println("야옹"); }} Dog 클래스package ex;public class Dog implements Animal { public void .. 2025. 9. 9.
[java] final,static, static final 차이 ✅ final 키워드 (상수화 개념)변수에 사용하면: 값이 한 번만 할당될 수 있다는 뜻입니다.메서드에 사용하면: 해당 메서드를 오버라이딩(재정의) 할 수 없습니다.클래스에 사용하면: 그 클래스를 상속할 수 없습니다.예시:final int x = 10;x = 20; // 컴파일 에러! final 변수는 값 변경 불가✅ static 키워드 (공유 개념, 객체생성x)클래스에 속한 공용 자원을 만들 때 사용합니다.인스턴스를 생성하지 않아도 접근할 수 있어요.예시:static int count = 0;public static void main(String[] args) { System.out.println(count); // 객체 없이도 사용 가능}✅ static final (공유하는 상수의미)이 조합은 .. 2025. 9. 7.
[java] 열거형 타입 enum 자바에서 enum은 **열거형 타입 (enumeration type)**으로, 서로 관련된 상수들을 하나의 그룹으로 묶을 때 사용됩니다. 예를 들어 요일, 방향, 상태 등 변경되지 않는 고정된 값들을 표현할 때 자주 사용됩니다.✅ 1. enum이란?enum은 클래스처럼 동작하는 특별한 데이터 타입입니다.enum으로 정의된 값들은 암묵적으로 final이면서 static, 변경이 불가능한 상수입니다. 기본 사용법:public class EnumExample { public enum Season { SPRING, SUMMER, FALL, WINTER } public static void main(String[] args) { Season now = Season.FALL.. 2025. 9. 6.
[java] Map-HashMap, LinkedHashMap, TreeMap ✅ 자바 Map 인터페이스 주요 구현체 비교 구분 HashMapLinkedHashMapTreeMapHashtable (레거시)기본 구조해시 테이블해시 테이블 + 입력 순서 유지이진 검색 트리 (Red-Black Tree)해시 테이블정렬 여부❌ 없음 (순서 불확정)✅ 입력한 순서 유지✅ 키 기준 자동 정렬 (Comparable or Comparator)❌ 없음 (순서 불확정)null 허용 여부✅ null 키 1개, null 값 여러 개 허용✅ 동일❌ null 키 허용 안 함❌ null 키/값 모두 허용 안 함동기화 (Thread-safe)❌ 비동기화❌ 비동기화❌ 비동기화✅ 내부적으로 동기화됨 (성능 낮음)성능빠름 (O(1) 평균)약간 느림 (순서 관리 비용)느림 (O(log N))가장 느림레거시 여부✅ .. 2025. 5. 2.
[java] Set-HashSet, LinkedHashSet, TreeSet Set은 배열을 중복제거하고 싶을 때 사용한다.Set에 추가하려면 add하면 된다. 구분 HashSet LinkedHashSetTreeSet중복 제거✅ 가능✅ 가능✅ 가능정렬 순서 유지❌ 순서 없음 (무작위)✅ 입력한 순서 유지✅ 오름차순속도O(1)로 보통 더 빠름O(1)로 약간 느림 (순서 유지 오버헤드)O(log N) (이진 트리 기반)사용 목적순서 상관없는 중복 제거중복 제거 + 입력 순서 유지 필요 시 정렬된 집합이 필요할 때 (예: 순위, 정렬 출력) 중복제거 (순서필요)예시:import java.util.*;String[] arr = {"apple", "banana", "apple", "orange", "banana"};Set set = new LinkedHashSet(Arrays.asLi.. 2025. 5. 2.
[java] switch/case 문 switch/case 구조문:switch(입력변수) { case 입력값1: ... break; case 입력값2: ... break; ... default: ... break;}if-else if-else문을 switch문으로 바꿀 수 있다.break를 쓰면 해당 case만 실행하고 swich문을 빠져나가고, 만약 break를 쓰지 않는다면 참인 것 아래 case들 다 실행된다.default문은 생략가능하고 사용할 시 case문을 실행하고 마지막으로 무조건 실행된다. Java에서 switch 문에서 break 문이 있을 때와 없을 때의 동작 차이✅ break가 있을 때int num = 2;switch (num) { case 1: .. 2025. 5. 2.
반응형