항해99 12기 3주차 WIL
느낀점
코딩테스트 문제는 정말 어렵다는 것…진짜… 문제를 푸는데 시간이 좀 많이 걸리는 편입니다..
한문제를 해석하는데 30분 정도 생기고 여기에서 어떤 메서드 함수 변수등을 쓸지 생각하다가 구글링에서 다 찾아보고 또 나열해 놓고 뭘 넣으면 될지 감이 안잡힌게 많아서 다 넣어보고 문제를 풀고 있었습니다.
그러다보니 1문제당 2시간 걸리더라구여 … 쉬운문제 풀고 싶고싶더라구여…
주특기 입문주차가 들어와서 강의듣느라 정말 문제풀 시간이 없어서 이때다 하면서 0레벨 문제를 하루에 1개씩은 꼭 풀고 있습니다!
아직 터미널을 이용해서 깃허브에 올리는데 파일전체를 올리는 걸 고민해바야할거같아요..ㅎㅎ
몇번 시도했다가 안되면 그냥 일일이 올렸는데 ㅎㅎㅎ 계속 시도해보고 모르면 조원분들께 물어볼려구여 ㅎㅎ
그래도 java언어주차때 기술 매니저님이 주신 숙제는 잊지않고 열심히 하고 있습니다!!
야홋!!!
(솔리드에 대해 물어보실거 같아.. 공부를 하고 있긴한데.. 어려워영 ㅠㅠㅠ 이것만 어려운건 아니죠…ㅎㅎ)
이번주도 같은 C반 여러분 너무 고생했고! 오늘 푹쉬고 월요일에 힘차게 해봅시다!!!
근데... 분명 1시 2시까지 공부했는데,, 왜 나는 출석체크를 까먹는가...ㅠㅠㅠ
배운점
문제를 어떻게 접근하면 될지에 대해 좀 더 깊이 생각하게 된 경향이 있었습니다.
아직까지 크게 발전한 기미는 없지만.. 그래도 코드를 짜는데 여러방향으로 짤 수 있게 되었다고 생각하고 있는데… 아닌거같네요.. ㅎㅎㅎ
주변에서 잘하고 있다 라고 말해주시는데 사실 다른 분들의 성장이 보이는데 제 성장은 안보여서 사실 막막해하고 있엇어요 ㅠㅠㅠ
그래서 원래 잘하는 꾸준함으로 마음가짐을 다시 먹고 열심히 할 생각입니다!
항상 잘 해왔던 것 처럼 장점을 살려서 열심히하기!!
키워드 : 상속, 인터페이스
- 상속 (Inheritance)상속은 자식 클래스가 상속받고 싶은 부모 클래스를 선택해서 상속 받는다. 상속받느 클래스를 자식 클래스, 하위 클래스 또는 서브 클래스라고 한다.
- 상속을 사용하는 이유는 더 빠르고, 유지보수가 쉽고, 중복이 적으며 통일성 있는 프로그램을 만들기 위해!
1-1) 상속의 대상
자식 클래스가 부모 클래스로부터 상속을 받게 된다면, 부모 클래스의필드와 메서드를 물려받게 된다.
단, 접근제어자가 private을 갖는 필드나 메소드는 상속이 불가능하며, 패키지가 다른 경우 접근 제어자가 dafault인 경우도 상속이 불가능하다.
1-2) 상속의 선언 방법 - extends
상속을 받기 위해서는 상속 받을 자식 클래스 귀에 extends 키워드를 사용하고 부모 클래스를 작성하면 된다.
또한, 자바에서는 자식 클래스가 여러 부모에서 다중으로 상속받는 다중 상속이 불가능하다.
하지만, 부모 클래스는 여러개의 자식 클래스에게 상속 가능
1-3) 상속 정리
- 상속 방법 : class 클래스(자식) extends 클래스 (부모)
- 자식 클래스는 부모 클래스로부터 메소드와 필드를 물려받아서 사용한다.
- 부모 클래스는 자식 클래스에서 정의한 메소드나 필드를 사요하지 못한다.
- 자식 클래스 여러 부모 클래스로부터 상속 받지 못한다. 즉, 단일 상속만 가능
- 부모 클래스는 여러 자식 클래스에게 상속이 가능
- 자식 클래스가 더 다양한 기능이 가능하기 때문에 자식 클래스로 인스턴스를 생성하는 것이 효율적이다.
- 인터페이스 (Interface)추상메서드란 구현부가 없는 메서드를 의미만약 구현하지 않게 된다면 컴파일 에러가 발생!
- 추상메서드에는 구현부가 없기 때문에 인터페이스를 만든다면 반드시 구현하는 클래스를 만들어야하며, 인터페이스를 구현하기로 한 클래스는 반드시 인터페이스가 명시되어 있는 추상메서드를 모두 구현해야한다.
- 인터페이스란, 기본적으로 추상메서드의 모음
2-1) 인터페이스의 역할 → interface를 이용하여, 개발 코드를 직접 수정하지 않고도 사용하고 있는 객체만 변경 할 수 있다.
- 인터페이스는 객체를 어떻게 구성해야 하는 지 정리한 설계도
- 인터페이스는 객체의 교환성 또는 다형성을 높여준다.
- 인터페이스 변수에 인터페이스가 구현된 서로 다른 구현 객체를 할당해서 사용이 가능하다.
- 구현 객체를 직접 몰라도 인터페이스 메서드만 알아도 객체 호출이 가능하게 한다.
- 객체가 인터페이스를 사용하면, 인터페이스 메서드를 반드시 구현해야하는 제약을 한다.
2-2) 인터페이스의 선언 방법 - exrtends, implements
- 클래스에서 클래스로 선언할 경우 extends로 선언
- 클래스에서 인터페이스로 선언할 경우 implements로 선언
- 인터페이스에서 인터페이스로 선언할 경우 extends로 선언
2-3) 인터페이스에 다중 상속
자바에서 한 클래스에서 여러 인터페이스를 implements를 할 수 있다.
즉, 다중 상속이 가능
이는 상속과 반대되는 개념으로, 상속은 다중 상속이 불가능 하여 단일 상속만 허용된다.!
2-4) 인터페이스 정리
- 상속 방법 : class 클래스 (자식) implements클래스 (부모)
- 인터페이스는 추상메서드의 모음이다.
- 인터페이스는 반드시 부모 클래스에서 오버라이드를 받아서 사용해야한다. (추상메서드의 모음이기 때문!)
- 인터페이스 메서드만 알아도 객체 호출이 가능하다.
- 인터페이스는 다중 상속이 가능하다.
클래스 상속과 인터페이스의 차이
Class Interfacee
코드 공유 여부 | 코드의 공유 제공 | 코드의 공유 제공하지 않음 |
다중 상속 여부 | 다중 상속을 지원 하지 않음 | 다중 상속을 지원함 |