자바의 정석
-
[자바의 정석] 12장 : 지네릭스, 열거형, 애너테이션책/자바의 정석 3판 2024. 2. 18. 21:35
1. 지네릭스 (Generics) 지네릭스란? 다룰 객체의 타입을 미리 명시해줌으로써 형변환을 줄여줌 지네릭 클래스의 선언 class Box 와 같이 선언 T는 임의의 문자도 상관없고, 처럼 여러개 해도 됨 단, 이는 임의의 참조형 타입을 의미 → 원래는 원시 타입은 안됨 Box 과 Box는 별도의 클래스를 의미하는 것이 아님 → 타입 매개변수이므로 add(1,2)와 add(3,4)가 다른 함수가 아니라는 것으로 이해하면 됨 제한 static 멤버에는 T 사용 불가 → 인스턴스 변수로 간주하므로 new T[] 불가 → 컴파일 타입에 타입을 추정할 수 없으므로 지네릭 클래스의 객체 생성과 사용 Apple이 Fruit의 자손인 경우 Box box = new Box(); 불가능하다 그러나 지네릭 클래스 자체의..
-
[자바의 정석] 7장 : 객체지향 프로그래밍 II책/자바의 정석 3판 2024. 2. 18. 21:31
1. 상속 (inheritance) 상속의 정의와 장점 extends 키워드로 가능 부모 클래스의 모든 멤버 변수와 메서드를 상속받음 private 또는 default인 멤버들은 상속되지 않는게 아니라 상속은 되는데 접근이 안되는 것 코드의 중복을 최소화할 수 있음 클래스간의 관계 - 포함관계 (composite) 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것 클래스간의 관계 설정하기 is - a → 상속 has - a → 포함 단일 상속 자바에서는 다중 상속을 허용하지 않음 → 단일 상속만 가능 Object 클래스 - 모든 클래스의 조상 누군가에게 상속받지 않는 클래스는 모두 자동적으로 extends Object가 붙는다. 2. 오버라이딩 (overriding) 오버라이딩이란? 조상 클..
-
[자바의 정석] 6장 : 객체지향 프로그래밍 I책/자바의 정석 3판 2024. 2. 18. 21:29
1. 객체지향언어 역사 기본 개념 : 실제 세계는 사물(객체)로 이루어져 있고, 사물간의 상호작용으로 모든 사건이 발생한다 객체지향 코드의 재사용성이 높고 유지보수 편함 처음에는 기능 구현에 초점을 맞추고, 객체지향적으로 바꾸는 게 좋음 2. 클래스와 객체 클래스와 객체의 정의와 용도 클래스 : 설계도 (TV 설계도) 객체 : 실제 사물 (TV) 객체와 인스턴스 클래스 → 객체 과정을 인스턴스화(instantiate) 라고 함 클래스로부터 만들어진 객체를 인스턴스(instance)라고 함 객체의 구성 요소 - 속성과 기능 객체는 속성과 기능으로 구성 객체가 가지고 있는 속성과 기능을 객체의 멤버라고 함 속성 : 멤버변수(member variable), 특성(attribute), 상태(state) 기능 :..