목록object (3)
개발 무지렁이

𐂂 '제네릭' 이란 결정되지 않은 타입을 파라미터로 처리하고, 객체를 생성할 시점에, 파라미터를 구체적인 타입으로 대체시키는 기능 𐁍 '제네릭 타입' 이란 결정되지 않은 타입을 파라미터로 가지는 클래스와 인터페이스를 말한다. (⚠️ 타입파라미터는 기본적으로 Object타입으로 간주된다.) public class Box { public T content; } Box box = new Box(); //사용할 때는 구체적인 타입으로 대체 𐁍 '제네릭 메서드' 란 타입파라미터를 가지고 있는 메서드를 말한다 public Box boxing(T t) { ... } 🤡 타입파라미터 제한 public Box boxing(T t) { ... } public Box boxing(T t) { ... } ⭐ 타입파라미터로 와..

String은 상수이다. 한 번 만들어지면 값변경이 불가, immutable String str = "java"; str = "java2"; ❓ 위의 코드는 정상적으로 실행된다. WHY? 값변경을 하는게 아니라 새로운 객체가 만들어진다. 수정 전의 객체는 garbage collection이 일어난다. String str = new String("java"); String str = "java"; 는 축약표현이다. 사실은 '객체생성연산자(new)'를 통해 객체를 생성하는 것이다. ❗ 주의 new 키워드 없이 할당한 값이 이미 있으면 같은 주소를 저장한다. String str1 = "java"; String str2 = new String("java"); String str3 = "java"; str1 ==..

미완성 클래스인 제네릭 구매자 사인(타입)이 안 적힌 그림작품(똑같은 구조)이다 ❓ 제네릭이 필요한 이유 : 제네릭을 사용하지 않으면 타입별로 거의 유사한 코드를 작성해야 한다.❓ Object 타입을 사용하면 되지 않을까 -> 🌚 데이터를 넣을 때 (ex. int => Integer => Object로 변질) -> 🌝 데이터를 뺄 때 (명시적으로 형변환 해줘야 한다.)추상성에 따른 클래스 구분 - 추상성 0%: 구상클래스 - 추상성 0% ~ 100%: 추상클래스 - 추상성 100%: 인터페이스 인터페이스는 그냥 '추상성 100%'인 '클래스'이다 단, 인터페이스 내에 선언된 메서드를 '반드시 구현'해야한다.class Main { public static void..