-
Notifications
You must be signed in to change notification settings - Fork 0
DAY240809
Simkm-98 edited this page Aug 9, 2024
·
7 revisions
- 6장 복습
// 클래스 구성 요소
- 필드 : 객체의 데이터를 저장하는 역할은 한다.
- 생성자 : 기본 생성자(선언 생략 가능), 인자 생성자(매개변수, 초기화를 위해)
-
- 인자 생성자를 만들면 기본생성자 호출을 안함(인자 생성자를 만들거면 기본생성자 자동생성x 직접 만듬) *
- 메소드 : 객체의 동작으로 호출 시 실행하는 블록
*6.13 접근 제한자
*6.14 Getter, Setter
- Setter : 데이터를 검증해서 유효한 값만 필드에 저장하는 메소드
- Getter : 필드값이 객체 외부에서 사용하기에 부적절한 경우, 적절한 값으로 변환해서 리턴할 수 있는 메소드
- Setter 는 메소드이름에 set, Getter 는 get, boolean 타입일 경우 is 로 시작하는것이 관례
*7장 상속
*7.1 상속 개념
- 상속은 부모가 자식에게 물려주는 행위, 객체지향 프로그램에서 부모클래스의 필드와 메소드를 자식 클래스에게 물려줄 수 있다.
- 중복 코드를 줄이고, 클래스 수정을 최소화 할 수 있다.
*7.2 클래스 상속
- 자바는 다중 상속을 허용하지 않음.
- 즉, 여러 개의 부모 클래스를 상속할 수 없다. extends 뒤에는 단 하나의 부모 클래스만 와야한다.
*7.3 부모 클래스 호출
- 자식 객체를 생성하면 부모 객체가 먼저 생성된 다음 자식 객체가 생성
- 부모 생성자는 자식 생성자 맨 첫 줄에 숨겨져 있는 super(); 에 의해 호출
- 인자 생성자 생성 시 super(매개변수) 무조건 입력해줘야 오류가 안남.
*7.4 메소드 재정의
- 메소드 오버라이딩은 상속된 메소드를 자식 클래스에서 재정의
- 메소드가 오버라이딩 되면 해당 부모 메소드는 숨겨지고, 자식 메소드가 우선적으로 사용
- 부모 메소드의 선언부(리턴 타입, 메소드 이름, 매개변수)와 동일해야함.
- 접근 제한을 더 강하게 오버라이딩 할 수 없음 ( public -> private 변경 불가)
- 새로운 예외를 throws 할 수 없음
*7.5 final 클래스와 final 메소드
- 클래스 선언할 때 final 키워드를 class 앞에 붙이면 최종적인 클래스이므로 더 이상 상속할 수 없음.
- 즉, final 클래스는 부모 클래스가 될 수 없어 자식 클래스를 만들 수 없다.
*7.6 protected 접근 제한자
*7.7 타입변환
- 자동 타입 변환
- 강제 타입 변환
*7.8 다형성 -> 상속부터 해야함
- 사용방법은 동일하지만 실행 결과가 다양하게 나오는 성질
- 다형성을 구현하기 위해서는 자동 타입 변환과 메소드재정의(오버라이딩)이 필요
- 필드 다형성
- 필드 타입은 동일하지만, 대입되는 객체가 달라져서 실행결과가 다양하게 나올 수 있는 것