*17일~20일 차는 예제로만 진행되어
따로 업로드 하지않음.
1. 내부 클래스
2. 추상 클래스
1. 내부 클래스
정의: 클래스 내부에 선언된 클래스
목적: 코드의 복잡성을 줄이기 위함
장점: 외부에서 선언된 필드들을 내부에서
바로 사용이 가능하다.
위 예제 코드처럼
내부 클래스에서는 별도의 공간 할당 없이
외부 클래스 필드를 공유할 수 있다는 점이 있다.
2. 추상 클래스
정의: 추상 메서드가 하나 이상 존재하는 클래스
[ 추상 메서드?? ]
추상 메서드는 코드가 구현되어 있지 않은,
껍데기만 있는 메서드를 말한다
이 추상 메서드를 작성할 때는
앞에 ' abstract '라는 키워드를
붙여주며 구현 블록이 없는 것이 특징이다.
=
생성법
abstract int sum();
이건대 보는 바와 같이 abstract라는
키워드가 붙었고 f1이라는 함수명을
가지고 있는 정수형 함수다
그리고 실행할 작업 목록이 없다
이제 추상 클래스로 돌아와 보자
이 추상 클래스의 생성 방법은
1. 추상 메서드를 포함시키기
2. or 클래스 앞에 abstract 키워드 붙이기
두 가지 방법이다
그럼 이 추상 클래스는 어디에 사용될까?
이제 만들어진 추상 클래스를 [ 상속 ] 받는
다른 클래스를 만들어보자
MyInfo를 상속받는 Leechanho 클래스를 만드려고 하자
클래스 명에 오류가 발생한다
이 오류의 해결 방법으로는
이클립스에서 두 가지를 제안한다
1. 추상 클래스로 만들어라
2. 부모 클래스의(상속받는) 추상 메서드를
오버 라이딩(재정의) 하라
자동 오류 해결을 시켜보았다.
그러자 혼자 추상 메서드였던 메서드들을 불러와
각각 형태에 맞는 리턴 값이 있는 메서드로 오버 라이딩하였다
이 처럼
추상 메서드를 포함한 추상 클래스를 상속받을 시
상속받는 추상 메서드를 오버 라이딩하여 재정의 작업이
필요한 것이다.
*추상 클래스는 상속받을 자식 클래스에서의
자신에 대한 재정의 작업을 유도한다.
'Java > JAVA 문법' 카테고리의 다른 글
자바 기초 배우기 23일차 [ 추상클래스,인터페이스클래스, 추상메서드 정리 ] (0) | 2020.01.05 |
---|---|
자바 기초 배우기 22일차 [ 추상클래스, 인터페이스, 익명클래스 ] (0) | 2020.01.04 |
자바 기초 배우기 16일차 [ 오버라이딩, 업,다운 캐스팅 ] (0) | 2020.01.04 |
자바 기초 배우기 15일차 [ 객체배열 ] (0) | 2020.01.04 |
자바 기초 배우기 14일차 [ 접근지정자 / get,set메서드 만들어 활용하기] (0) | 2020.01.04 |