2025년 7월 29일 화요일(45일차)

Jeonghoon·2025년 7월 29일

jeonghoon's Study

목록 보기
47/128

💡 String 클래스 · Random · 제네릭 타입 · 팀프로젝트 2일차 정리


✨ [ String 클래스 ]

문자열을 표현하고 조작하기 위한 자바의 핵심 클래스

항목설명
📘 정의자바에서 문자열을 표현하는 방법 제공
⚙️ 특징컴퓨터는 ‘문자(char)’는 알지만, ‘문자열(String)’은 알지 못함 → 문자열은 여러 문자의 조합

🧱 문자열 생성법

구분방법예시
1️⃣ 리터럴 방식큰따옴표를 이용"Hello"
2️⃣ 객체 생성 방식new String() 생성자 사용new String("Hello")

🔍 문자열 비교법

비교 방식설명특징
==리터럴(상수) 문자열 비교 / 주소값 비교주로 상수 비교에만 사용
.equals()문자열 값 자체 비교실제 내용 비교용

⚙️ 주요 메소드

메소드설명
.concat("문자열")문자열을 연결
String.format("형식문자", 값)지정한 형식으로 문자열 반환
StringBuilder sb = new StringBuilder();문자열을 효율적으로 연결할 수 있는 클래스 (메모리 효율 ↑)
.charAt(인덱스)지정한 인덱스의 문자 반환
.length()문자열의 길이 반환
.replace(기존문자열, 새로운문자열)기존 문자열 1개만 변경 후 반환
.replaceAll(기존문자열, 새로운문자열)모든 기존 문자열을 변경 후 반환
.substring(시작, 끝)지정 범위의 문자열 반환 (끝 인덱스 - 1까지)
.split("구분자")구분자를 기준으로 문자열을 나눠 배열 반환
.indexOf("문자열")문자열 내 특정 문자열의 인덱스 반환 (없으면 -1)
.contains("문자열")문자열 내 특정 문자열 존재 여부 반환 (boolean)
.getBytes()문자열을 byte[] 배열로 변환
new String(byte[])byte[] 배열을 문자열로 변환

💡 Tip:

  • replace()는 첫 번째 항목만 교체
  • replaceAll()은 전체 교체 (HTML → Java 줄바꿈 변환 시 유용)

🎲 [ Random 클래스 ]

난수를 생성하는 클래스

항목설명
📘 정의난수(랜덤 값)를 생성하는 클래스
⚙️ 사용법Random 변수명 = new Random();

⚙️ 주요 메소드

메소드설명
.nextInt()int 타입 허용 범위 내 난수 생성
.nextInt(n)0 ~ (n-1) 범위의 난수 생성
.nextInt(n) + mm부터 (m+n-1) 범위의 난수 생성

💡 예시

Random rand = new Random();
int num1 = rand.nextInt(10);     // 0 ~ 9
int num2 = rand.nextInt(5) + 1;  // 1 ~ 5

🔤 [ 제네릭 타입 (Generic Type) ]

다양한 데이터 타입을 처리할 수 있도록 만든 유연한 타입 시스템

항목설명
📘 정의여러 타입에서 동작하도록 만든 키워드 (<T>)
🎯 목적인스턴스 생성 시 타입을 지정해, 타입 안정성과 재사용성 향상
⚙️ 형식class 클래스명<T> { T 변수명; }

🧱 클래스 및 인스턴스 생성

class Box<T> {
    T value;
}
Box<String> box = new Box<>();

⚙️ 특징

항목설명
🧩 유연성다양한 타입에 대응 가능
♻️ 코드 중복 제거동일한 로직을 여러 타입에서 재사용 가능
🚫 타입 안정성 확보잘못된 타입 사용 방지
⚠️ 주의점기본 타입 사용 불가 → 래퍼 클래스(Integer, Double 등) 사용 필요

🧩 활용처

분야예시
💾 컬렉션 프레임워크ArrayList<String>, HashMap<Integer, String>
🧠 실무 중요성제네릭을 활용한 자료형 유연성 확보

👥 [ 팀프로젝트 2일차 회고 ]

협업과 커뮤니케이션의 중요성을 깨달은 하루

항목내용
💡 문제점프로젝트 컨셉이 명확하지 않아, 프로토타입 작성 시 팀원 간 인식 차이 발생
🧠 개선 방향개념적 대화 대신 구체적인 예시를 제시하여 의사소통 강화
🤝 팀워크서로의 생각을 맞추기 위해 천천히 의견 조율 필요
❤️ 태도감정에 휘둘리지 않고, 상대의 의견을 경청하고 수용하는 자세 유지
⚙️ 교훈“정확한 방향성 + 열린 태도”가 팀 프로젝트의 핵심

0개의 댓글