본문 바로가기

Daily/TIL

TIL 2022년 9월 21일

728x90

# 긍정의 한줄

"계절의 변화"

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