자바의 정석 스터디(3) - 객체지향

Jay_u·2023년 9월 2일
0

스터디

목록 보기
3/5

다형성

다형성은 원래 여러 개의 형태를 갖는다라는 의미
한 클래스의 참조변수로 다른 여러 클래스를 참조할 수 있다는 의미.

조건1 ) 서로 상속관계에 있어야 다형성이 성립
조건2 ) 조상 타입의 참조변수로 자손타입 인스턴스를 참조할 수 있다.

=> 뭔소리? 자바 상속에서 부모의 클래스를 자식이 상속받을 때
부모 메소드도 자식이 가져감 그러면 부모가 클까 자식이 클까?
자식이 크다. 자식은 부모를 받을 수 있지만 => 자식 자식 = new 부모 (O)
부모는 자식을 받을 수 없다. => 부모 부모 = new 자식 (X)

다형성의 활용

String으로 되어 있는 값을 int로 바꿔서 sorting 하거나
주민등록번호(String)을 int로 바꿔서 sorting 하거나
새로운 기능을 발현시키는 용도거나 그런데 활용한다. 도 있고

상속의 관점에서 본다면 기존의 기능은 있고 확장시켜서 간결하게 쓰는 게 목적이다.


인터페이스

추상메소드의 집합
자바 1.8 이후로는 상수, static default 메소드도 추가됨

다른 클래스가 인터페이스를 확장시킬 수 있다.(반드시 구현해야 함)

장점
개발시간은 단축시킬 수 있다.
표준화가 가능하다
서로 관계없는 클래스들간에 관계를 맺을 수 있다.
클래스의 선언과 구현을 분리시킬 수 있다.

인터페이스라는 것은 약속이다. 인터페이스를 구현하는 사람한테 이건 법이야 무조건 만들어라고
강제하는 것이다. 그래서 아키텍쳐를 구성하는 사람들은 인터페이스를 쭉 만들고 개발자들에게 만들라고 시키겠지.

전혀 다른 서버나 프로젝트간에 통신하는 방법도 인터페이스라고 부른다.
msa 서비스 시대에서는 서로 다른 서비스간에 소통이 되어야 함.
이럴 때 활용하는 것이 인터페이스이다.

profile
정확한 정보를 전달할려고 노력합니다.

0개의 댓글