01-24 학습!! 😁😁
추상 클래스
자손 클래스에서 반드시 재정의 해서 사용해서 내용 의미X
그래서 구현부가 없다는 의미로 abstract 키워드를 추가
객체를 생성할 수 없다는 의미로 abstract class 까지
🚨 Vehicle v = new Vehicle(); 이렇게 객체 생성 안됨
이런 형태 -> abstract method design pattern (2번째 패턴!!)
상속 전용의 클래스
자식은 abstract method 재정의할 책임
객체 생성 불가
자식을 참조는 가능 (다형성)
자식도 구현하기 싫으면 abstract
(uml은 글자가 기운다)
🔔 abstract -> 구현 강제!
서로 다른 두 부분의 접점
한쪽은 사용에 관심 | 한쪽은 구현에 관심
최고 수준의 추상화 단계 : 일반 메서드는 모두 abstract 형태
모든 멤버변수는 public static final 이며 생략 가능
모든 메서드는 public abstract 이며 생략 가능
🚨 interface에는 toString이 존재하지 않음 Object 상속 안받음!
인터 페이스 상속
클래스와 마찬가지로 인터페이스도 extends를 이용해 상속 가능!
🔔 클래스와 다른 점은 인터페이스는 다중 상속이 가능!
왜 인터페이스를 써야하는가?
구현의 강제로 표준화 처리 (abstract 메서드 사용)
인터페이스를 통한 간접적인 클래스 사용으로 손쉬운 모듈 교체 지원
서로 상속의 관계가 없는 클래스들에게 인터페이스를 통한 관계 부여로 다형성 확장
모듈 간 독립적 프로그래밍 가능 -> 개발 기간 단축
tight coupling - class 기반 관계
loose coupling - interface를 통해서 관계 맺음
서로 상속의 관계가 없는 클래스들에게 인터페이스를 통한 관계 부여로 다형성 확장
형제관계?
서로 다른 분야의 작업의 공통 명세서가 되어 작업 효율성 증대!
default method
기존에 intterface 기반으로 동작하는 라이브러리에 추가해야 하는 기능이 발생
모든 메서드를 override 해야 하는 상황이 발생해벌임..
이 때 default 메서드는 abstract가 아니므로 반드시 구현 해야 할 필요는 없어
default method의 충돌
default method가 생기면서 동일한 이름을 갑는 구현부가 있는 메서드가 충돌
그래서 생긴
method 우선순위
super class의 method 우선 : super class가 구체적인 메서드를 갖는 경우 default method는 무시됨
inter 추가 작성
static method (uml 언더바)
interface 에 선언된 static method
일반 static 메서드와 마찬가지로 별도의 객체가 필요 없음
구현체 클래스 없이 바로 인터페이스 이름으로 메서드에 접근해서 사용 가능
private method
Interface에 body를 가지는 메서드가 등장하면서 공통적으로 처리할 모듈이 발생
Interface 내부에서 사용하기 위한 메소드!
🔔 abstract 끈끈한 관계 is a Elephant
🔔 UML에서는 기울어짐
🔔 Interface는 100프로 abstract method
🔔 abstract는 생성자 가질 수 있다.
🔔 Interface는 구현된 메소드 없다 생성자 가질 수 없다.
🔔 abstract 처럼 끈끈한 관계는 아님 슈퍼맨, 새, 비행기 같은 느낌
🔔 공통 기능 느낌 다중 상속을 흉내내기 위한
🔔 인터페이스는 펭귄 상속 is a Bird, I Fish
🚨 인터페이스끼리는 extends a,b,c,d한다 다중 상속 가능!
🚨 클래스끼리는 extends 하나만!
🔔 default, static만 예외로 lamda 때문에 만듬
🔔 람다는 클래스랑 메소드를 지울려고 있는건데
🚨 객체 정렬은 기본적으로 안된다!! but String은 된다 final이다! (이거 잘 모르겠다..)
🔔 상속때 접근 제한자, 예외처리 가 부모보다 자식이 더 커야 한다.
🔔 오버라이딩 조심할 점 static은 없다, 그리고 데이터를 찾을 때 찾은 곳부터 탐색 시작하고 올라간다.
🔔 static nonstatic 시간차가 생김 static이 먼저 생기는 것을 생각하고 코드를 짜야함
🔔 싱글톤 디자인 패턴
별 찍기 20번까지
n m 풀기 8개까지 👌🆗
백준 달팽이
배열 방향전환 - 미세먼지도 풀기
perm, combi, subset, powerset 4가지 코드 완벽 이해
강의 다시보기 학습
정처기 계획 세우기