목표 : 상속과 추상, 인터페이스를 활용 및 차이 알아보기
1. 상속 개념1, 개념2(영상), 개념3, 예제1, 예제2
1) 개념 : 유지보수성을 높이기 위해 객체지향을 활용하는데, 클래스 중복을 피하기 위해 나온 개념 (중복내용은 별도 클래스에 정의한 후 사용함)
- 기존 클래스의 변수와 메소드를 물려 받아 새로운 클래스에 사용하여 더 나은, 더 구체적인 클래스 구성
- 조건 : 공통멤버를 가지는 클래스들간의 공통점이 있는지 확인, 클래스간에 is a 개념이 성립하는 경우 상속가능
- extends : 다른 클래스에 상속할 때 사용
2) 활용
(1) 메소드 오버라이딩 : 부모로부터 상속받은 메소드의 내용을 재정의 하는 것
- 규칙 : 상속받은 메소드 바디만 변경 / 선언부는 변경 불가 / 접근 제어자는 동일 또는 큰 범위로 변경이 가능
(2) super : 상속받고 있는 부모개체를 말함.

2. 추상(abstract) 개념1(영상), 개념2, 개념3, 예제1, 예제2
1) 추상메소드
- 메소드의 바디를 구현하지 않고 abstract로 선언된 메소드
2) 추상클래스
- 추상 메서드를 포함한 클래스. 추상 메서드는 구현부(body)가 없이 선언부만 있는 메서드임
추상 클래스는 abstract 예약어를 사용하고, new 생성자를 사용해 인스턴스화 할 수 없음

1) 개념
- 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것 개념1, 개념2
- 추상메소드만 가지는 객체이고, 선언되는 모든 메소드는 public abstract로 인식
- 인터페이스에 선언된 모든 변수는 public static final로 인식
ex) 아이폰과 갤럭시에서 모두 사용하고 싶을때 어떻게?

- 이유 : 자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위해 사용
- 변수 선언: interface 키워드를 통해 선언할 수 있으며 implements 키워드를 통해 일반 클래스에서 인터페이스를 구현
멤버변수는 항상 public static final이라는게 자동으로 붙는다. 예제1, 예제2
(공공이용, Static 메모리에 사용, 내용이 정해지면 바뀌지 않는다. )
- 메소드 선언: 추상 메소드(Abstract Method)만으로 클래스 (추상 메소드는 구현 내용 없이 선언만 해 놓는 형태)
* default 메소드 선언 : JAVA 8버전부터 추가된 기능, 상속받은 모든 클래스에서 공통으로 갖는 기능 구현 개념
3) 인터페이스 상속

- default 메소드는 인터페이스를 상속하는 모든 클래스에 공통으로 갖는 기능 구현
- static 메소드는 프로그램 시작시 사용 준비가 완료되는 메소드
'개발 > JAVA' 카테고리의 다른 글
4. 라이브러리 활용 (1) API 활용 (0) | 2022.06.24 |
---|---|
3. 언어특성활용 (3) 다형성, 내부클래스 (0) | 2022.06.19 |
3. 언어특성활용 (1) 객체 지향 구현 (Instance, Constructor) (0) | 2022.06.19 |
2. 기본문법 (4) 객체지향 개요 (0) | 2022.06.13 |
2. 기본문법 (3) 배열(Array) (0) | 2022.06.12 |