목록이것이 자바다 (12)
ultra_dev
📌 제네릭 :결정되지 않은 타입을 파라미터로 처리하고, 실제 사용할 때 파라미터를 구체적 타입으로 대체 시키는 기능 public class Box { public T content; } 는 T가 타입 파라미터임을 뜻하는 기호, A부터 Z까지 어떤 알파벳을 사용해도 괜찮음. 단지 이름일 뿐 Box box = new Box(); box.content = "안녕하세요."; String content = box.content; //강제타입변환 필요 없이 안녕하세요 얻기 가능 Box box = new Box(); box.content = 100; int content = box.content; // 강제타입변환 필요 없이 100 얻기 가능 ☑️ 타입 파라미터를 대체하는 타입은 클래스 및 인터페이스 -> 기본타입은..
📌 Object의 equals() 메소드는 원래 객체의 번지를 비교하는 == 과 동일한 결과를 리턴한다. 우리가 아는 값만 비교하는 equals()는 String에서 재정의한 equals()이다. equals()는 재정의가 가능하며 이럴 경우 hascode()도 보통 같이 재정의한다. hashcode()는 객체를 식별하는 정수인데 equals()를 값만 보는 걸로 재정의해도 hashcode()가 그대로면 서로 다른 객체로 인식하게 되니 hashcode()도 재정의를 같이 해준다. 📌 롬복 라이브러리 Getter, Setter, hasCode(),euqals(),toString() 메소드를 자동 생성해줌 ex) @Data가 붙게 되면 Getter, Setter, hasCode(),euqals(),toStr..
☑️ 에러 : 컴퓨터 하드웨어 고장으로 인해 응용프로그램 실행 오류가 발생하는 것 -> 개발자가 대처할 방법이 없음 ☑️ 예외 : 잘못된 사용 또는 코딩으로 인한 오류 -> 발생하면 프로그램이 곧바로 종료 한다는 점에서 에러와 같지만, 예외 처리를 통해 실행 상태 계속 유지 가능 예외 발생시 예외 클래스로부터 객체 생성 -> 예외 처리시 사용 일반 예외 (Exception) : 컴파일러가 예외처리 코드 여부를 검사하는 예외 실행 예외 (Runtime Exception) : 컴파일러가 예외처리 코드 여부를 검사하지 않는 예외 모든 에러와 예외 클래스는 Throwable 상속받아 만들어 짐 예외클래스는 추가적으로java.lang.Exception 클래스 상속 받음 실행 예외는 RuntimeException과..
CH9 ☑️ 중첩 클래스 : 클래스 내부에선언한 클래스 → 외부에 중첩 관계 클래스를 감춤으로써 코드의 복잡성 줄일 수 있음 클래스가 특정 클래스랑만 관계를 맺을 경우 편의성 때문에 중첩 클래스로 선언해서 사용하는 경우 많음 📌**멤버 클래스 : 클래스의 멤버로서 선언 되는 중첩 클래스** 인스턴스 멤버 클래스 class A { class B {...} } -> A객체를 생성해야만 B객체 생성 가능 정적 멤버 클래스 class A { static class B{...} } -> A 객체를 생성하지 않아도 B객체를 생성 가능 📌**로컬클래스 : 메소드 내부에서 선언되는 중첩 클래스** class A { void method() { class B {...} } } -> 메소드 실행할 때만 B 객체 생성 가능..