오늘의 키워드
- 객체지향
- Compile, Runtime
- 오버라이딩, 오버로딩
- @Override Annotation
- 객체 지향 4가지 특성
오늘의 내용
- 객체지향
- 로직을 상태(state)와 행위(behave)로 이루어진 객체(Object)로 만드는 것이다
- Compile과 Runtime
- Compile
- 소스 코드를 작성하고 컴파일러에 의해 컴파일되는 시점
- 컴파일러는 코드를 검사하고 바이트 코드로 변환
- Runtime
- 프로그램이 실행되고 사용자와 상호작용하는 동안 발생하는 시간
- 프로그램이 시작되고 객체가 생성되며 메서드가 호출되는 시간
- 런타임 시점에서 객체의 실제 타입을 결정하고 해당 객체의 메서드가 호출된다
- Compile
- 오버라이딩, 오버로딩
- 오버로딩
- 같은 이름은 가진 메서드나 생성자를 여러 개 정의하는 것
- 매개변수의 타입, 순서, 개수가 다를 때 사용
- 정적 다형성을 지원
- 오버라이딩
- 상위 클래스에서 정의된 메서드를 하위클래스에서 동일한 메소드 시그니처(메서드 이름, 매개변수 타입 및 반환 타입)를 재정의 하는 것
- 런타임 다형성을 지원하며 이미 컴파일되어 실행 중인 상태에서 객체의 실제 타입을 따라 메서드가 동적으로 선택한다
- 오버로딩
- @Override Annotation
- 메소드 오버라이딩을 명시적으로 지정하기 위한 어노테이션입으로 이 어노테이션을 사용하면 컴파일러가 메소드 오버라이딩의 정확성을 검증하고 오버라이딩 규칙을 준수하는지 확인
- 오버라이딩의 실수 방지(=> 어노테이션을 사용하여 개발자가 실수로 오버라이딩이 아닌 메서드를 선하는 것을 방지)
- 코드의 가독성 향상
- 객체지향의 4가지 특성
- 캡슐화
- 상속
- 추상화
- 다형성
- 객체의 속성이나 기능이 상황에 따라 여러 가지 형태를 가지는 성질
- 상위 클래스의 타입을 참조 변수로 하위 클래스의 객체를 참조할 수 있다
- 다운캐스팅 : 상위 클래스가 하위 클래스로 형변환 되는 것
- 일시적 다운캐스팅 : 변수 없이 호출하는 순간 다운캐스팅을 하는 것
- 명시적 다운캐스팅
- instanceof : 다운 캐스팅을 안정성 있게 사용할 수 있다
- 업 캐스팅 : 생략이 가능하고 안정성을 보장한
오늘의 회고
- 팀프로젝트에 실시간 강의에 정신이 하나도 없다 😵💫😵💫😵💫
- 내일은 병원 진료라 하루가 통으로 날아갈 텐데 실시간 강의도 못 듣고 잃는 게 너무 많은 거 같아 아쉽다
- 내일이 지나면 팀 프로젝트도 어느 정도 마무리 되겠지?
'TIL' 카테고리의 다른 글
내일배움캠프 4주차 Call by Value, Call by Reference, ... (0) | 2024.05.09 |
---|---|
내일배움캠프 4주차 Java 연습1 (0) | 2024.05.08 |
내일배움캠프 3주차 람다와 스트림 (0) | 2024.05.03 |
내일배움캠프 3주차 쓰레드 이어서 (2) | 2024.05.02 |
내일배움캠프 3주차 프로세스와 쓰레드 (3) | 2024.05.01 |