안녕하세요.
2024. 09. 10. 화요일 TIL입니다.
오늘은 java 문법 종합 강의 3주차를 다시 한 번 정독을 완료했습니다.
2번째 들어보니 그래도 어느 정도 알아들을 정도는 되는 것 같습니다.
내일부터는 4주차 강의를 들어보려 합니다.
데일리 루틴 코드카타
오늘은 핸드폰 번호 가리기 라는 문제풀이를 했습니다.
[내일배움캠프] 알고리즘 Daily Routine 27. 핸드폰 번호 가리기
안녕하세요. 27회차 과제 "핸드폰 번호 가리기"입니다.문제 설명프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.전화번호가 문자열 phone_nu
tip-blog-welcome.tistory.com
오늘 배운 것
** 다형성
* 자동 타입 변환
부모 타입 변수 = 자식 타입 객체; 는 자동으로 부모 타입으로 변환이 일어남
-. 자식 객체는 부모 객체의 멤버를 상속받기 때문에 부모와 동일하게 취급될 수 있음
* 강제 타입 변환
자식 타입 변수 = (자식 타입) 부모 타입 객체;
부모 타입 객체는 자식 타입 변수로 자동으로 타입 변환되지 않습니다.
-. 타입 변환 연산자를 사용하여 강제로 자식 타입으로 변환
* 다형성
여러가지 형태를 가질 수 있는 능력
* instanceof
다형성 기능으로 해당 클래스 객체의 원래 클래스명을 체크하는 명령어
{대상 객체} instance of {클래스 이름} 으로 사용하며 boolean 형식으로 응답값
** 추상 클래스
* 추상 클래스
클래스를 설계도라고 할 때 추상 클래스는 미완성 설계도라고 함
abstract 키워드를 사용 public abstract class 추상클래스명 {}
추상 클래스는 자식 클래스에 상속되어 자식 클래스에 의해서만 완성될 수 있음
* 추상 메서드
추상 메서드는 아직 구현되지 않은 미완성된 메서드
abstract 리턴타입 매서드이름(매개변수, ...);
* 추상 클래스 상속
추상 메서드는 extends 키워드를 사용하여 클래스에서 상속
public class 클래스명 extends 추상클래스명 {
@override
public 리턴타입 메서드 이름(매개변수, ...) {
//실행문
}
}
상속받은 클래스에서 추상 클래스의 추상 메서드는 반드시 오버라이딩 되어야 함
*** 인터페이스
** 인터페이스의 역할
인터페이스는 두 객체를 연결해 주는 다리 역할을 한다
* 인터페이스 선언
interface 키워드를 사용하여 인터페이스를 선언할 수 있습니다.
public interface 인터페이스명 {}
* 인터페이스 구성
인터페이스의 멤버
-. 모든 맴버 변수는 public static fanal이어야 합니다.
-. 모든 메서드는 public abstract이어야 합니다.
-. 생략되는 제어자는 컴파일러가 자동으로 추가해줍니다.
* 인터페이스 구현
인터페이스는 추상 클래스와 마찬가지로 직접 인스턴스를 생성할 수 없기 때문에 클래스에 구현되어 생성
-. implements 키워드를 사용하여 인터페이스를 구현
public class 클래스명 implemants 인터페이스명 {
@override
public 리턴타입 메서드이름(매개변수, ...) {
//실행문
}
}
인터페이스의 추상 메서드는 구현될 때 반드시 오러바이딩 되어야 함
* 인터페이스 상속
인터페이스 간의 상속이 가능함
인터페이스는 클래스와는 다르게 다중 상속이 가능함
** 디폴트 메서드와 static 메서드
* 디폴트 메서드
디폴트 메서드는 추상 메서드의 기본적인 구현을 제공하는 메서드
메서드 앞에 default 키워드를 붙이며 블럭{}이 존재해야 합니다.
* static 메서드
static의 특성 그대로 인터페이스의 static 메서드 또한 객체 없이 호출이 가능
선언하는 방법과 호출하는 방법은 클래스의 static 메서드와 동일
* 다형성
자동 타입 변환
-. 인터페이스 변수 = 구현 객체;는 자동으로 타입 변환이 일어남
강제 타입 변환
-. 구현 객체 타입 변수 = (구현 객체 타입) 인터페이스 변수 ;
내일도 오늘보다는 조금 더 나은 내가 되도록 노력하겠습니다.
'내일배움캠프 > 내일배움캠프' 카테고리의 다른 글
[내일배움캠프] 2024. 09. 12. TIL (0) | 2024.09.12 |
---|---|
[내일배움캠프] 2024. 09. 11. TIL (0) | 2024.09.11 |
[내일배움캠프] 2024. 09. 09. TIL (0) | 2024.09.09 |
[내일배움캠프] 2024. 09. 06. 트러블 슈팅 TIL (0) | 2024.09.06 |
[내일배움캠프] 2024. 09. 05. TIL (0) | 2024.09.05 |
댓글