// education

모듈과 패키지 개념 및 자바 기본 패키지 (java.lang, java.util)

클래스들의 충돌을 피하고 그룹화하는 **패키지(Package)**와 자바 표준 라이브러리의 핵심인 java.langjava.util 패키지의 유틸리티 클래스들을 다룹니다.


1. 기본 패키지 핵심 용어 사전 (Glossary)


2. String vs StringBuilder 성능 실습

public class StringCompareExample {
    public static void main(String[] args) {
        // 1. String 연결 연산 (새 객체가 매번 생성되어 메모리 낭비)
        String s = "Hello";
        s += " World";
        System.out.println("String 결과: " + s);

        // 2. StringBuilder 활용 (가변 버퍼 사용으로 100배 이상 고속 처리)
        StringBuilder sb = new StringBuilder();
        sb.append("Hello");
        sb.append(" ");
        sb.append("World");
        sb.append("!");
        System.out.println("StringBuilder 결과: " + sb.toString());
    }
}

3. Object 클래스의 3대 필수 오버라이딩 메소드

  1. equals(Object obj): 단순 주소 비교가 아닌 객체의 내부 실제 값이 같은지 판단하도록 오버라이딩.
  2. hashCode(): 객체의 고유 정수 해시코드를 반환. (HashSet, HashMap 사용 시 필수!)
  3. toString(): 객체의 현재 상태를 가독성 있는 텍스트 문자열로 반환.

4. 자주 묻는 질문 (Q&A)

Q. StringTokenizerString.split()의 차이는 무엇인가요? A. split()은 정규 표현식을 사용하여 복잡한 구분자로 잘라내어 배열로 반환하며, StringTokenizer는 단순 문자 구분자로 메모리 효율적으로 토큰을 하나씩 꺼내옵니다.

← 이전상속(Inheritance), 다형성, 추상 클래스 및 인터페이스 다음 →제네릭(Generics)과 컬렉션 프레임워크 (List, Set, Map)