# 긍정의 한줄
"계절의 변화"
To be interested in the changing seasons is a happier state of mind than hopelessly in love with spring.
변화하는 계절에 관심을 갖는 것이 하염없이 봄만 사랑하는 것보다 더 행복하다.
'계절의 변화를 즐기듯이 내 인생의 변화도 즐기자.'
[린다 피콘, 365매일 읽는 긍정의 한줄(책이있는풍경, 2012), September Day21]
# Today I Learned.
# U-camp
javaMisson4 코드 리뷰
자바의 정석 7장 객체지향개념(2) 상속
- 상속 관계와 포함 관계의 차이점 이해, 상속 시 기본 생성자의 필요성 이해.
- Object클래스 - 모든 클래스의 최고조상.
- 오버라이딩(조상의 메서드를 자신에 맞게 수정하는 것)
- 부모의 멤버를 가르키기 위한 super을 키워드.(this == super)
- 부모의 멤버를 초기화하기 위한 super() 키워드(this() == super())
- 객체지향 개념 총정리.(백xx 강사님 version), 스탠드 전구(백열등, 형광등) 실습. strategy(전략패턴)
- 한글로도 클래스 파일 작성이 가능하구나.. 신기하다!
- 추상메서드 사용법 이해와 필요성.
javaMisson5 코드 리뷰
- 클래스간 extends 상속 사용법 이해.
- super, super() 사용법 이해.
- 상속관계의 자료 흐름에 대한 이해.
스터디 토론 주제.
- 추상메서드와 인터페이스의 차이점 조사하기.
추상클래스란? 미완성 설계도(미완성 메서드를 갖고 있는 클래스)
미완성 메서드란 선언부만 존재하고 구현부 {}가 존재하지 않음.
abstract 키워드를 사용
@ 추상클래스를 왜 사용할까?
추상 메서드를 사용하는 이유는 메서드 내용이 상속받는 클래스에 따라 달라질 수 있기 때문이다.
그래서 구현할 때 주석을 통해 주석을 덧붙여 어떤 기능을 수행할 목적으로 작성되었는지 알려주고
// 제품별 재생을 시작하는 기능을 수행하는 메서드
abstract void play(int pos);
// 제품별 재생을 즉시 멈추는 기능을 수행하는 메서드
abstract void stop();
실제 상속받는 클래스에서 구현할 수 있도록 사용한다.
@ 인터페이스란? 일종의 추상클래스(추상 메서드 모음)
오직 추상 클래스와 상수만을 멤버로 가질 수 있으며 그 어떤 요소도 허용하지 않는다.
추상 클래스는 부분적으로 완성된 '미완성 설계도'라면 인터페이스는 밑그림만 그려져 있는'기본 설계도'
implements 키워드를 사용.
모든 멤버변수는 public static final 이어야 하고 이를 생략할 수 없다. 모든 메서드는 public abstract 이어야 하며, 이를 생략할 수 없다. |
즉 인스턴스 멤버를 사용할 땐 사용하지 못한다.
메모리에 올라가 있는 멤버만 사용 가능하다고 생각하면 된다.
둘의 공통점은 다른 클래스를 작성하는데 도움을 주는 목적으로 사용된다.
가장 큰 차이점은 추상 메서드는 일반 클래스에서도 사용되지만 인터페이스는 오로지 추상 메서드만 갖고있다.
'Daily > TIL' 카테고리의 다른 글
TIL 2022년 9월 25일 (1) | 2022.09.25 |
---|---|
TIL 2022년 9월 22일 (0) | 2022.09.22 |
TIL 2022년 9월 20일 (0) | 2022.09.20 |
TIL 2022년 9월 19일 (0) | 2022.09.19 |
TIL 2022년 9월 18일 (2) | 2022.09.18 |