[24.05.07] 내일배움캠프 16일차 JAVA TIL - 객체지향 프로그래밍
2024. 5. 7. 20:27ㆍT.I.L
오늘 한 일
- Web 심화반 강의 수강 - 객체지향 설계
- scoreDAO 수정및 병합 테스트 케이스 테스트
- 추가 기능 선정<script async src=ㄱ
crossorigin="anonymous"></script>
컴파일 시점 : 프로그램이 실행되기 직전의 시점
런타임 시점 : 프로그램이 실행되고 사용자와 상호작용하는 시간
오버라이딩 / 오버로딩
오버 라이딩 -> 올라타다 즉, 이미 있는 기능을 다시 정의하는 것 (매개 인자가 같다)
런타임 다형성을 지원하며 이미 컴파일 되어 실행중인 상태에서 메소드가 선택
@Override 어노테이션을 사용하여 오버라이딩 함수임을 명확히 기재할 수 있다.
가독성이 향상되고, 컴파일러를 통해 오류가 방지된다.
오버 로딩 -> 매개인자가 다르게 로딩한다고 이해하면 된다. (정적 다형성 지원)
컴파일 시점에 어떤 메소드가 호출될지 결정된다.(매개인자를 보고 맞는 함수로 찾아감)
객체 지향 4가지
1. 캡슐화
2. 상속화
3. 추상화
4. 다형성 -> 부모 타입의 참조 변수를 통해 여러 자식 타입의 객체를 참조할 수 있다.(다운 캐스팅/업 캐스팅)
Spring 핵심 원리 (DI, IOC)도 다형성에 있다.
의존성 주입
public class Main {
public static void main(String[] arge) {
Driver driver = new Driver();
Vehicle car = new Car();
Vehicle motorCycle = new MotorCycle();
}
}
- 아래의 경우 new Car(); new MotorCycle();과 같이 객체에 직접적으로 의존하고 있다.
- 이러한 경우 의존성 주입이라는 Spring 의 핵심 개념으로 해결한다.
- 꼭 해당 내용에 대해 학습해보자.
링크 참조
https://ko.wikipedia.org/wiki/%EC%9D%98%EC%A1%B4%EC%84%B1_%EC%A3%BC%EC%9E%85
'T.I.L' 카테고리의 다른 글
[24.05.09] 내일배움캠프 18일차 JAVA TIL - 프로그래머스 자연수 뒤집기 (0) | 2024.05.09 |
---|---|
[24.05.08] 내일배움캠프 17일차 JAVA TIL - 개인 공부 SWEA 1249 (0) | 2024.05.08 |
[24.05.02] 내일배움캠프 15일차 JAVA TIL - 개인과제 피드백 (0) | 2024.05.07 |
[24.05.02] 내일배움캠프 14일차 JAVA TIL - Web 기초 (0) | 2024.05.02 |
[24.05.01] 내일배움캠프 13일차 JAVA TIL - 개인과제 review (0) | 2024.05.01 |