본문 바로가기

전체 글

(381)
[Java] Wrapper class 기본형의 한계 자바는 객체 지향 언어입니다. 그런데 자바 안에 객체가 아닌 것이 있습니다. 바로 int, double 같은 기본형(Primitive Type) 입니다. 기본형은 객체가 아니기 때문에 한계가 있습니다. 객체가 아님: 기본형 데이터는 객체가 아니기 때문에, 객체 지향 프로그래밍의 장점을 살릴 수 없습니다. 예를 들어 객체는 유용한 메서드를 제공할 수 있는데, 기본형은 객체가 아니므로 메서드를 제공할 수 없다. 객체 참조가 필요한 컬렉션 프레임워크를 사용할 수 없다. 그리고 제네릭도 사용할 수 없다. null 값을 가질 수 없음: 기본형 데이터 타입은 null 값을 가질 수 없습니다. 때로는 데이터가 없음 이라는 상태를 나타내야 할 필요가 있다. 기본형은 항상 값을 가지기 때문에 이런 표현을 ..
[Java] 가변 String 불변인 String 클래스의 단점 불변인 String 클래스에도 단점이 있습니다. 두 문자를 더하는 경우 "A" + "B" String("A") + Sring("B") // 문자는 String 타입이다. String("A").concat(String("B")) // 문자의 더하기는 concat을 사용한다. new String("AB") // String은 불변이다. 따라서 새로운 객체가 생성된다. 불변인 String의 내부 값은 변경할 수 없다. 따라서 변경된 값을 기반으로 새로운 String 객체를 생성한다. 더 많은 문자를 더하는 경우 String str = "A" + "B" + "C" + "D"; String str = ("A") + String("B") + String("C") + String("..
[Java] String 클래스 주요 메서드를 살펴보자! 문자열에 'Java'가 포함되어 있는지: true 'Java'의 첫번째 인덱스: 7 인덱스 10부터 'Java'의 인덱스: 24 'Java'의 마지막 인덱스: 24 주요 메서드 목록 String 클래스는 문자열을 편리하게 다루기 위한 다양한 메서드를 제공한다. 메서드를 외우기 보다는 필요할 때 검색하거나 API 문서를 통해서 원하는 기능을 찾는 것이 좋다. (밑에서 자주 사용하는 기능 위주로 나열했습니다) 문자열 정보 조회 public class StringInfoMain { public static void main(String[] args) { String str = "Hello, Java!"; System.out.println("문자열의 길이: " + str.length()); System.out...