You are using an outdated browser. Please upgrade your browser to improve your experience.

0903TIL

상속 : 일반화를 이용한 공통점 분리 (자바프로젝트 22버전)

상속에는 Specialization(전문화)와 Generalization(일반화)도 있다.

전자는 말그대로 수퍼클래스의 속성을 상속시키는것

후자는 클래스들의 공통점을 뽑아내서 수퍼클래스를 만드는것


System.arrayCopy()

배열의 값을 복사할 때 사용한다.

형식 : arrayCopy(Object src, int srcPos, object dest, int destPos, length)

파라미터
src - 복사대상
srcPos - 복사할 항목의 시작 인덱스
dest - 목적지
destPos - 복사 목적지 인덱스
length - 복사할 항목의 개수

예제생기면 복붙하기

자바프로젝트 22


전문화

일반화

Ioc(Inversion of control)

제어의역전

내가 세운 스케줄대로 하루를 보내려고 하지만 카톡으로 누가 나를 급한일로 호출하면 계획대로 되지 않는다

자바프로젝트 23


추상클래스와 추상 메서드

추상 클래스

- 서브 클래스에 기본 기능 및 공통 분모를 상속해 주는 역할을 하는 클래스다.

- new 명령을 통해 인스턴스를 생성할 수 없다.

- *상속** 의 기법 중에서 **일반화** 를 통해 수퍼 클래스를 정의한 경우 보통 추상 클래스로 선언한다.

- 추상 메서드를 가질 수 있다.

**추상 메서드 **는

- 서브 클래스에 따라 구현 방법이 다른 경우 보통 추상 메서드로 선언한다.

- 서브 클래스에서 반드시 구현해야 하는 메서드다.

- 즉 서브 클래스를 정의할 때 반드시 해당 메서드를 구현하도록 강제하고 싶다면 추상 메서드로 선언한다.

- 일반 클래스는 추상 메서드를 가질 수 없다.

- 추상 클래스와 인터페이스 만이 추상 메서드를 가질 수 있다.

자바베이직 oop 08~


템플릿 - ex10 c패키지

인터페이스와 추상클래스는 다르다

추상클래스는 엄연히 클래스다

변수, 메서드를 가질 수 있고 서브클래스를 위해 추상메서드를 조미료처럼 가지고있는것


인터페이스는 조미료가 아니라 얘가 주식이다. 뭔말이냐? 이제부터 알아보자

인터페이스 : 호출 규칙 정의

인터페이스에 있는 모든 메서드는 무조건 추상메서드이다.

인터페이스 규칙에 따라 만든 것 : 구현체( implementer)

인터페이스는 모든 멤버변수는 Public static final이어야 하며 이를 생략할 수 있고, 모든 메서드는 public abstract이며 이를 생략할 수 있다.

추상클래스는 구체적인 메서드들도 갖고 있기 때문에 서브 클래스에서 모두 구현하지 않아도 되지만, 동시에 추상 클래스가 갖는 구체 메서드의 구현부를 똑같이 실행하므로 서로 닮은 구석이 크다.

인터페이스는 모두 추상 메서드이기때문에 서브클래스에서 모두 구현해야하지만, 동시에 몸체는 맘대로 구현하면 돼서 오히려 서브클래스가 더 자유롭게 구현/ 상속이 가능하다

ex09 인터페이스

인터페이스의 모든 메서드는 public이다

모든 메서드는 abstract이다

통신장치 - 프로토콜

is not visible : 권한이 없다.

디자인패턴- 싱글톤

김밥나라에서 김밥한줄 만들어주세요!

인스턴스의 주소가 모~두 같다.(다 똑같은 김밥이다.)

자바스크립트 html css 서버

그럼 php나 다른건 안한다는거네