티스토리 뷰
자바에서 is-a 관계를 가지고 있는 클래스들을 상속관계라고 말한다.
다음 과 같은 구조를 가진 클래스를 만든다고 할때 Animal 클래스에서 문자열 name과 setName메소드가 선언이 되었는데, 밑에 Dog클래스는 문자열과 메소드를 선언하지 않았음에도 사용이 가능하다. 빨간색 박스를 보면 알겠지만
Dog타입의 새로운 Dog생성자를 만들었을뿐 Animal 클래스의 생성자를 만든게 아니다. 그럼에도
setName과 name을 여전히 사용할 수 있다. 이렇듯 상속관계는 이미선언되어있는 메소드를 굳이 다시 선언할필요없이 자식이 자유롭게 사용할 수 있는 구조이다.
이렇듯 편리한 기능이지만 상관관계를 생각해서 만들지 않으면 의미가 없다, 부모객체는 자식객체의 특성을 가지고 있지만 조금 더 넓은 개념(ex) 동물) 이고, 자식객체인경우 부모객체에서 조금더 세분화된 부분이다. (ex)개) 이렇듯 부모 자식클래스를 만들때에는 상관관계를 정확하게 생각해내야 나중에 코드가 꼬이지 않는다.
두줄요약: 부모 자식클래스는 상관관계를 정확하게 해야함, is-a(상속관계)를 쓰는 이유는 부모가 가지고 있는 기능들을 자식이 그대로 사용할 수 있어서 코드의 길이도 줄일수있음
+ 일반적으로 부모클래스보다 자식클래스가 더 많은 기능을 가지고 있어야한다. 더 세분화 되어있기때문... 부모클래스의 메소드를 사용할 수 있지만, 그렇다고 해서 자식클래스에서 기능을 추가할 수 없는건 아니다.
'웹 프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] 주소지 마스킹 처리 (0) | 2022.05.17 |
---|---|
Class상속의 이해2 + 오버라이딩 (0) | 2021.02.27 |
3차원배열을 활용한 반 점수 출력 (0) | 2021.02.02 |
다중 for문을 활용한 다양한 별자리 패턴 만들기 2.(JAVA) (0) | 2021.01.30 |
다중 for문을 활용한 다양한 별자리 패턴 만들기 1.(JAVA) (0) | 2021.01.30 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Logstash 활용
- elasticSearch
- zipkin
- 미래의나에게동기부여
- 오늘저녁 삼겹살
- 루틴기록
- Logstash to ElasticSearch
- config
- JWT
- ACTUATOR
- MariaDB
- 빅-오
- 운동
- UserService
- 운동일기
- producer
- rabbitmq
- git
- MSA
- LoadBalancer
- github
- consumer
- Kafka Connect
- Gateway
- prometheus
- docker
- springcloud
- Feign
- kafka
- Spring + ELK
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함