일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Keras
- discrete_scatter
- 데이터전문기관
- CES 2O21 참여
- paragraph
- web
- mglearn
- bccard
- tensorflow
- 자료구조
- 재귀함수
- vscode
- cudnn
- broscoding
- pycharm
- C언어
- postorder
- web 개발
- web 용어
- 웹 용어
- classification
- html
- inorder
- 결합전문기관
- web 사진
- java역사
- CES 2O21 참가
- 대이터
- 머신러닝
- KNeighborsClassifier
- Today
- Total
bro's coding
java.Prepare.Interview 본문
Object-Oriented
객체지향 , 객체기본단위 관계중심 분석설계
Object
시스템 기본단위, 속성과 기능
Class 와 Object
틀 : 실재화 개체
붕어빵틀 : 붕어빵
설계도 : 건물
객체지향주요개념
Encapsulation : public interface, private implementation
(소통부와 구현부를 분리/인터페이스는 공개하고 구현부는 감춤)
Inheritance : 부모 멤버 상속 , 계층구조형성->다형성 적용환경 제공
(부모 멤버를 물려받아 사용/계층구조 형성을 통한 다형성 적용환경)
Polymorphism : 하나의 메세지 방식 One Interface 다양한 객체들이 Multiple Implements 각자의 방식으로 동작
ex) play 버튼만 알면 유튜브, 멜론플레이어, 시디플레이어 등 다양한 실제 플레이어객체를 동작시킬 수 있음
Overloading : 다양한 매개변수 ( 동일한 이름의 메서드(생성자)를 다양한 매개변수로 여러개 정의)
Overriding : 부모 메서드를 자신에 맞게 재정의
ide(이클립스) , 자바환경설정(jdk>jre>jvm) , 객체지향분석설계(OOAD/UML(Class Diagram)
Class Diagram relationship
association ( use a 사용 ) : 가져다 쓰자
aggregation ( has a 집합 ) : 가지고 있자
composition ( consist of 구성 ) : 이거 없으면 못 만든다
generalization ( is a 일반화 ) : 사람, 개 다 공통점이 있더라
java.lang.Object : 최상위 클래스( 자바 클래스 계층구조의 root)
abstract와 interface의 특징
abstract : 추상 클래스와 메소드를 정의할 때 사용
추상 크래스는 직접 객체화될 수 없다 -> 부모로서 멤버를 돌려주고 계층구조 형성을 통한 다형성 적용 가능
추상 메소드는 자식 클래스에서 반드시 구현해야 한다 (구현을 강제)
만약 구현되지 않으면 자식 클래스에서도 abstract 선언되어 직접 객체화될 수 없다
interface : 명세, 약속 (구현한 측과 사용하는 측과의 약속)
인터페이스는 다양한 계층구조 형성을 통한 다형성 적용을 할 수 있음
(인터페이스는 다중 상속의 장점을 취하는 의미)
일반적으로 public static fianl 상수와 abstract메서드만 정의
(예외적으로 jdk 1.8 이상에서는 default method와 static method를 지원)
abstract와 interface의 공통점과 차이점을 비교
공통점 : 계층구조 형성을 통한 다형성 적용, abstract metheod를 통한 하위에 구현 강제(표준화)
차이점 : abstract는 객체의 멤버(변수, 메서드)를 물려줄 수 있음 > 단일 상속
interface는 다중 구현이 가능(다양한 계층 구조 형성을 통한 다형성 적용)
Set과 List의 특징
set : 중복 인정 x , TreeSet(정렬기능), LinkedHashSet(추가 순서보장)
List : 인덱스 관리, ArrayList(조회에 장점), LinkedList(삭제, 삽입, 수정에 장점)
'[IT] > java' 카테고리의 다른 글
java.Collection.Set (0) | 2021.03.05 |
---|---|
java.Collection (0) | 2021.03.05 |
java.Interface.default/static method (0) | 2021.03.05 |
java.class.layout (0) | 2021.03.05 |
java.Interface (0) | 2021.03.04 |
java.Design pattern.template (0) | 2021.03.04 |
java.Design pattern (0) | 2021.03.04 |
java.abstract(추상화) (0) | 2021.03.04 |