1. JAVA/3). 자바_개념

자바_개념_Day_23

구이제이 2024. 1. 31. 20:34

내것이 되기까지, 노력하지않는다라는 것을 모른다..

자기객관화가 안되어 있다.



●추상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