내것이 되기까지, 노력하지않는다라는 것을 모른다..
자기객관화가 안되어 있다.
●추상vs상속
상속
1.공통으로 사용
2.부모 것은 내것
//★다형성으로 이용해서 코드를 줄이기
상속에서
부모와 자식을 메인에서 제어하는 법
1)
자식에서 부모의것을 사용하고 싶을때,
(super)
2)
자식의 것을 사용하는 법
자식 - > 부모 - > 자식 (돌아오는법)
if(ani[i] instanceof Dog dog)}{
}
추상을 쓰는 이유 ‘강제성’을 주기위함도 있다.
반드시 재구현을 해야하는 것들이 있는 경우.(자식에게 맞춰서)
#
//추상클래스도 필드,생성자,일반메소드 올수있다.
//부모안에 필드와 생성자가 생성되면,
//1)기본생성자를 부모안에 넣는다.
//2)자식클래스 생성자안에 super로 생성자의 전달인자를 채워서 객체를 완성시킨다.
#
부모꺼는 내것이기 떄문에,
부모의 메소드를 그냥 사용할거면 - 일반 메소드
반드시 재정의 하고 싶을때 - 추상메소드
#
다형성사용한다면,
확장이 자유롭다.
얼마든지 덧붙일수있다.
부모는 자식이 어떻게 구현되는지 모르지만, 자식은 부모것을 가져다가 구현해 나갈수있다.
확장하고 처리하기가 수월하다.
#
부모는 통로만 되어주려는 용도로 쓰고 싶다는 것이 > ‘인터페이스’를 만들어냈다.
추상메소드가 1개라도 있다면, ‘추상클래스’
추상메소드로만 구성된 것 ‘인터페이스’
그래서 ‘추상클래스’가 심화된 것이, ‘인터페이스’이다.
#인터페이스,추상클래스
역할과 구현을 나누누것이 포인트이다.
역할 : 공통역할(부모)
구현 : 각자구현(자식)
#
extends(상속) - 자식이 부모의 것을 고대로 가져다가 쓰겠다.
implement(구현) - 자식이 들어가서, 구현/완성을 시켜주겠다.
★어댑터의 사용법
인터페이스안에서 부모의 모든것을 구현하기보다는, 일부 구현하기 위해서 필터 해주는 역할을 해주는 것이 어댑터이다.
#
인터페이스안에, 아무것도 없는 인터페이스 있을수있다.(묶기위한 개념)
공통적으로 묶어야 하는 상황, 아무것도 없는 인터페이스를 만들어서,
인터페이스라고해서 아무것도 없는것이라해서 지우면 안된다.
#어댑터클래스 목적
1)중간자역할을 하는 목적, 인터페이스안에 인터페이스가 굉장히 많을 수 있다.
2)내용은 없고, 이름만 들어가있는 인터페이스,
전혀연관없는 것들을 묶기 위함이다.
자바의 객체지향
캡슐화
다형성 - 상속,추상,
#
extends, implement 동시에 할수있다.
'1. JAVA > 3). 자바_개념' 카테고리의 다른 글
자바_개념_Day_25 (0) | 2024.02.02 |
---|---|
자바_개념_Day_24 (0) | 2024.02.01 |
자바_개념_Day_22 (1) | 2024.01.30 |
자바_개념_Day_21 (1) | 2024.01.29 |
자바_개념_Day_20 (1) | 2024.01.26 |