일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- cudnn
- tensorflow
- postorder
- vscode
- web 사진
- 머신러닝
- KNeighborsClassifier
- html
- bccard
- discrete_scatter
- Keras
- CES 2O21 참가
- mglearn
- C언어
- web
- classification
- broscoding
- 재귀함수
- inorder
- java역사
- 웹 용어
- web 개발
- 자료구조
- pycharm
- 대이터
- web 용어
- 데이터전문기관
- paragraph
- 결합전문기관
- CES 2O21 참여
- Today
- Total
목록[IT]/java (101)
bro's coding
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bnsZYw/btqYIj7SZyk/EtISXlZkK6b9zNthI0g3h1/img.jpg)
상속(Inheritance) : 부모 멤버(속성, 기능)를 자식이 물려받아 재사용 > 계층구조를 형성해 다형성(Polymorphism)을 적용한 환경을 제공 is a relationship(UML : class diagram에서는 generalization) > 사람은 동물이다 / 엔지니어는 사원이다 객체지향의 주요 개념으로써, 부모맴버를 자식이 물려받아 재 사용해 개발 생산성 향상 // public class 자식클래스 extends 부모클래스{} > 상속은 하나만 받을 수 있음(Single Inheritance:단일 상속) > 다중상속의 장점은 인터페이스로 채택 package step5; class Animal { int age = 1; public void eat() { System.out.prin..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uqytU/btqYDkF77hQ/kgnKFgofte3Q5lkLwOJ9bk/img.jpg)
Overloading 동일한 이름으로 다양한 매개변수를 정의 이름이 같고 매개변수의 순서, 타입, 갯수가 다르면 오버로딩 됨 > 개발의 편의성을 증대 > 다양한 매개변수, 동일한 메서드명(생성자)로 다양한 매개변수를 정의할 수 있음 > 클라이언트 코드 입장( 사용자 user )의 편의성 제공 > 개념적 인터페이스 ( 소통부 )가 간결해져 사용하기 편리 // Overloading // 동일한 이름으로 다양한 매개변수를 정의 // 이름이 같고 매개변수의 순서, 타입, 갯수가 다르면 오버로딩 됨 public void eat(){} public void eat(String menu){} public void eat(int count){} public void eat(String menu, int count){}..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bUFAP8/btqYtOvogWc/Ktlk3XKAcX7WKICIVhf8z1/img.jpg)
Array (참조형 데이터 타입 배열) : 다수의 데이터를 효과적으로 관리 //선언 Person [] pa; Peerson pa []; pa = new Person[3]; //3개의 공간이 별도로 생김 pa[0] = new Person("아이유", 30); // 배열 요소 할당(첫번째, 공간에 객체 주소값을 할당) pa.length //배열 길이 반환 // 배열 선언, 생성, 할당 동시에 Person[] pa1 = { new Person("이효리",40), new Person("아이유",30), new Person("박보검",24) }; package step1; public class Person { // instance variable // instance variable 선언 후 constructo..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cL1w1c/btqYveUIrX0/ecUVbP8zpXfaV8FeYHbxTK/img.jpg)
instance : 객체 속성정보(Heap) local : 매서드(or 생성자)에서 사용하는 임시변수(Stack)
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cAhmFn/btqYQwAesUH/5NXonaKYRPrSCF1tFuRizK/img.jpg)
association(사용하는 관계) : use a aggregation(집합, 집단화) : has a composition(구성) : consist of OOAD(객체 지향 분석 설계) > UML( Class Diagram ) > Object와 Class의 관계 : 붕어빵과 붕어빵틀, 건물과 설계도
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cjbkKv/btqYnoo4Pj7/cWZve76fkVOsUQ0IBkXxv0/img.jpg)
class Person{ Person(){ // 생성자(Constructor) } } 생성자(constructor) : 객체 생성시 실행되는 영역 > 객체 생성시 필요한 초기화 작업을 명시 클래스에 생성자가 명시되지 않으면 컴파일시에 기본 생성자를 삽입 클래스 내에서 하나 이상의 생성자가 존재하면 삽입하지 않음 생성자 명은 클래스명과 동일해야함 생성자는 리턴값이 없음 클래스에 생성자가 명시되지 않으면 컴파일시 기본 생성자를 삽입 (클래스 내에서 하나 이상의 생성자가 존재하면 삽입하지 않음)
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/3NYEK/btqYnnp8aaS/IKzLgdc9DrksiLuZZpmXWK/img.jpg)
시스템의 기본단위를 객체로 상정하고 객체간의 관계를 중심으로 분석설계하는 기법 객체(Object) > 시스테므이 기본 단위, 속성과 기능으로 구성 클래스(Class) > 설계도, 객체 생성을 위한 틀 객체와 클래스의 관계 > 붕어빵과 붕어빵틀, 건물과 설계도
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bsJOuw/btqYn4XpDL4/OvkkY14uaVjFvn073rctk0/img.png)
StarUML UML 2 Compatible with UML 2.x standard metamodel and diagrams: Class, Object, Use Case, Component, Deployment, Composite Structure, Sequence, Communication, Statechart, Activity, Timing, Interaction Overflow, Information Flow and Profile Diagram. SysML Sup staruml.io
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cbGAzM/btqYebqGhO0/FHqNZHzPKDRo4A7ltfe7Tk/img.jpg)
Encapsulation(캡슐화) : 인터페이스와 구현부를 분리해서 정의 "public interface, private implementation" 인터페이스는 공개하고 구현부는 감춘다. >응집도를 높이고 결합도를 낮춤 >사용자는 인터페이스만 알면 구현부를 몰라도 사용할 수 있음 > 생산성 향상 >구현부가 업데이트 되어도 외부 영향 최소화 > 유지 보수성 향상 Encapsulation적용의 장점 정보 은닉(information hiding)과 생산성 및 유지보수성의 향상 생산성 : 인터페이스만 알면 구현부를 몰라도 사용할 수 있음 유지보수성 : 구현부가 업데이트 되어도 인터페이스(소통부)가 유지되므로 외부 영향이 없음 인터페이스 : 외부와 소통하는 역할 구현부(implementation) : 해당 단위..