반응형
<일기>
오늘은 자바 강의 3,4주차 다 들었다. 5주차를 마저 들으려다가, 내일은 수업이 없으니 미리 완강 이후에는 어떤 방향으로 공부하는 것이 좋을까 싶어 멘토님 찾아가서 여쭤봤었다. 이펙티브 자바를 사서 자바 활용법을 더 익혀볼지, GC나 JVM같은 자바의 동작 방식을 깊게 익혀볼지, 아니면 객체지향의 사실과 오해를 읽으며 객체지향을 팔지를 물어보니 여러 이야기를 나누곤 이펙티브 자바를 공부하기로 했다.
멘토님이 람다가 뭐냐고 물어봤었는데 람다 스트림 많이 썼다고 생각했는데 설명해보려고 하니 아무 말도 못하겠더라,,
주말엔 사랑니 빼고 서점 들러서 책 사서 도서관 가서 5주차 다 듣고 책 읽어야지..
</일기>
- 객체는 식별가능한 존재. 물리적으로 존재하는 자동차 뿐만 아니라 주문 가은 개념적인 것 역시 객체.
- 객체는 속성과 행위로 구성되어 있음 자바에서는 속성을 필드, 행위를 메서드로 정의하여 구현함
- 소프트웨어의 객체들은 메서드를 통해 상호작용 함.
- 관계로는 사용, 포함, 상속 관계가 있음.
- 객체지향 프로그래밍의 특) 캡슐화, 상속, 다형성, 추상화 -> 이건 나중에 따로 정리할 예정. 일단 링크 참고
- 클래스를 객체를 생성하기 위한 설계도, 필드(객체의 데이터 저장), 생성자, 메서드(객체의 행위, 객체간 협력을 위해 사용)가 있음
- 멤버는 필드 + 메서드. 멤버는 인스턴스와 클래스가 있음
- 클래스 멤버로 선언된 메서드는 인스턴스 멤버를 사용 불가능. 반대는 가능.
- 오버로딩 : 하나의 메서드 이름으로 여러 기능을 구현할 수 있는 자바의 기능.
- 같은 이름이더라도 매개변수의 개수, 타입, 순서 중 하나라도 다르면 오버로딩할 수 있음
- 응답만, 혹은 접근제어자만 다른 것은 오버로딩 불가.
- 장점: 메서드 이름 하나로 상황에 따른 동작을 개별로 정의가능, 메서드 이름을 절약 가능
- final 제어자는 필드는 초기화 이후 수정 불가능, 클래스는 상속 불가능, 메서드는 오버라이딩 불가
- this 는 인스턴스 자신을 표현하는 키워드
- 접근제어자 : public, protected, default, private
- 그 외 제어자 : static, final, abstract
- 사용 가능 접근 제어자
- 클래스 : public, default,
- 메서드 & 맴버변수 : public, protected, default, private
- 지역변수 : 없음
- 클래스 : public, default, final, abstract
- 메서드 : public, protected, default, private, final, abstract, static
- 멤버변수 : public, protected, default, private, final, static
- 지역변수 : final
- 상속 : 부모 클래스의 필드와 메소드를 자식 클래스에게 물려주는 것.
- 적은 양의 코드로 새 클래스를 작성할 수 있고, 공통 코드를 관리하여 추가와 변경이 쉬워질 수 있음
- 중복 제거되고 재사용성이 증가하여 생산성과 유지보수성에 유리
- 클래스 간의 관계
- 상속 관계 : is-a
- 포함 관계 : has-a
- 오버라이딩 : 부모 클래스로부터 상속받은 메소드의 내용을 재정의 하는 것
- 선언부가 부모 클래스의 메소드와 일치해야 함
- 접근 제어자를 부모 클래스의 메소드보다 좁은 범위로 변경할 수 없음
- 예외는 부모 클래스의 메서드보다 많이 선언할 수 없음.
- super 는 부모 클래스의 멤버를 참조할 수 있는 키워드
- 다형성 : 여러가지 형태를 가질 수 있는 능력
- 인터페이스 변수 = 구현 객체; 는 자동으로 타입변환 일어남
- 구현객체타입 변수 = (구현객체타입) 인터페이스변수; 는 강제 타입변환
반응형
'TIL ✍️' 카테고리의 다른 글
23년 10월 18일(수요일) - 12번째 TIL (2) | 2023.10.18 |
---|---|
23년 10월 17일(화요일) - 11번째 TIL (0) | 2023.10.18 |
23년 10월 12일 - 9번째 TIL (0) | 2023.10.12 |
23년 10월 11일 - 8번째 TIL (0) | 2023.10.11 |
23년 10월 10일 - 7번째 TIL (0) | 2023.10.11 |