#오버라이딩(Over riding) vs 오버로딩(Over loading)
오버라이딩
: 같은 이름의 메서드를 여러개 가지면서 매개변수의 유형과 갯수가 다르도록 하는 기술
오버로딩
: 상위 클래스가 갖고 있는 메서드를 하위 클래스가 재정의해서 사용
왜??
다형성을 위해서!!
#부모(상위) 클래스 , 자식(하위) 클래스
왜씀??
■ 중복된 코드를 줄여 유지보수가 편리하고, 통일성이 있고 다형성을 구현할 수 있다.
#다형성
■ 하나의 코드가 여러 자료형으로 구현되어 실행되는 것을 뜻한다. 즉, 같은 코드에서 여러 실행 결과가 나올 수 있다.
■ 부모클래스가 자식 클래스의 동작방식을 알 수 없어도 오버라이딩을 통해 자식 클래스를 접근 할 수 있다.
■ 부모클래스로 객체를 선언 했으나 실행시점에 동적 바인딩 되어 자식클래스의 멤버함수가 호출된다.
■ 왜좋아??
1. 유지보수가 쉽다 ( 여러객체를 하나의 타입으로 관리가 가능하다)
2. 재사용성 증가
3. 느슨한 결합 ( 클래스간 의존성이 줄어들고 확장성이 높고 결합도가 낮아진다 )
#객체지향 프로그래밍의 특징 4가지
상속
■ 자식 클래스가 부모의 변수 및 메서드를 상속받아 활용할 수 있는것
추상화
■ 공통된 행동,필드를 묶어 하나의 클래스를 만드는 것
■ 추상클래스 : 하나 이상의 추상메소드를 포함한 클래스를 추상 클래스 라고 한다. 이런 추상 메서드는 자식 클래스에서 반드시 재정의가 되어야 한다 → 다형성이 보장된다
다형성
위에 정리함
캡슐화
데이터와 코드의 형태를 외부로부터 알 수 없게 하고, 데이터의 구조와 역할,기능을 하나의 캡슐 형태로 만드는 방법
#느슨한 결합?
https://supersett-diary.tistory.com/189?category=1043720
예전에 특집으로 발표했던 글 읽어보면 도움될듯
#Object Class
자바에서 모든 클래스는 Object 클래스를 암시적으로 상속받고 있다.
왜??
모든 클래스가 공통으로 포함하고 있어야 하는 기능을 제공하기 위해서!!!
예시)
'[중앙대]멋쟁이 사자처럼' 카테고리의 다른 글
[서술형 문제] 기출문제 풀어보기 #1 (0) | 2022.09.01 |
---|---|
[발표] 요청과 응답 사이의 흐름을 따라가보자 (0) | 2022.07.26 |
#스터디 정리 (0) | 2022.06.14 |
[Java] 느슨한 결합을 위하여.. ( IoC, DIP, DI 란 무엇인가? ) (0) | 2022.06.09 |
#디자인 패턴 #느슨한 결합 #발표 자료 정리 (0) | 2022.05.25 |