일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- web 개발
- 대이터
- 데이터전문기관
- vscode
- broscoding
- discrete_scatter
- CES 2O21 참여
- mglearn
- 결합전문기관
- web 용어
- KNeighborsClassifier
- html
- tensorflow
- 웹 용어
- 머신러닝
- bccard
- cudnn
- pycharm
- 재귀함수
- postorder
- classification
- web
- CES 2O21 참가
- paragraph
- java역사
- C언어
- web 사진
- 자료구조
- Keras
- inorder
- Today
- Total
목록[IT] (431)
bro's coding

Object-Oriented 객체지향 , 객체기본단위 관계중심 분석설계 Object 시스템 기본단위, 속성과 기능 Class 와 Object 틀 : 실재화 개체 붕어빵틀 : 붕어빵 설계도 : 건물 객체지향주요개념 Encapsulation : public interface, private implementation (소통부와 구현부를 분리/인터페이스는 공개하고 구현부는 감춤) Inheritance : 부모 멤버 상속 , 계층구조형성->다형성 적용환경 제공 (부모 멤버를 물려받아 사용/계층구조 형성을 통한 다형성 적용환경) Polymorphism : 하나의 메세지 방식 One Interface 다양한 객체들이 Multiple Implements 각자의 방식으로 동작 ex) play 버튼만 알면 유튜브, 멜론..

interface 약속 or 계약 구현한 측과 사용하는 측과의 약속 -> 표준화 > interface는 다중 상속의 장점을 채택 > 다중 상속의 장점은 다양한 계층 구조 형성을 통한 다형성 적용에 있음 > 즉 interface는 다양한 계층 구조 형성을 가능하게 함 > 단, 일반 상속에서 지원하는 멤버를 물려 줄수는 없음 >interface끼리는 상속이 가능(abstract method 상속) >일반적으로 인터페이스는 static final 상수와 abstract method를 정의함 public interface Flyer{ String ID="JAVA"; // public static final로 자동 인식 public void fly(); // abstract method로 자동 인식 } packa..

Template Method Design Pattern 부모 클래스(상위 클래스)에서 작업처리의 흐름을 정의하고 자식 클래스에서 작업처리의 내용을 구체화하는 페턴 > SeaFoodPizzaService, PotatoPizzaService..많은 피자 종류가 있다. 피자 공정에서 토핑을 제외한 나머지 작업(도우를 만들다, 피자를 굽다, 자르다, 포장하다)은 공통된 작업이고 잡업처리의 흐름도 동일하다.[+(abstract)토핑] 부모 클래스에서 재사용 가능한 작업 기능 및 작업 처리의 흐름은 자식에게 제공하고 자식 클래스 차원에서만 구현할 수 있는 토핑 작업만 직접 구현하도록 한다. package step4; public abstract class PizzaService { protected void pre..

Design Pattern 소프트웨어 설계, 구현 단계에서 공통적으로 발생하는 문제에 대한 해결책

abstract abstract class(추상 클래스) : 상속을 위한 class > 직접 객체화 될 수 없다.(자식 클래스의 생성자에서 super()를 이용한 생성은 가능) > 여러 구체화된 자식 크래스의 공통적인 멤버를 추상화한 클래스 > abstract class는 계층구조 형성과 자식 클래스에서의 재사용성을 높이기 위한 클래스 > 부모 클래스로서의 역할에 집중 package step3; abstract class Person { public Person() { super(); // TODO Auto-generated constructor stub System.out.println("Person 객체 생성"); } } class Student extends Person { public Studen..

final final 상수 : 재할당 불가 > 상수명은 대문자로 구성, 합성어는 _로 연결(final String MY_ID="java";) final class : 자식클래스에서 상속 불가 final method : 자식클래스에서 메서드 오버라이딩 불가 package step2; class FinalEx { final String MY_ID = "java";// final 상수 public void test() { // 아래 코드는 error, final로 선언되면 상수이므로 재할당 불가 // MY_ID="jdbc"; } } public class TestFinal1 { public static void main(String[] args) { } } package step2; // String clas..

static : 정적 변수 또는 메서드일 때 사용하는 자바 키워드 static member == class member - 붕어빵틀의 멤버(변수, 메서드) > 클래스명.static변수 or 클래스명.static메서드 > static을 사용하면 별도의 메모리 공간 (meta space)에 생성됨(GC가 안 되기 때문에 가급적 사용 피할 것) package step1; public class TestStatic1 { int money = 2; static int point=100; public static void main(String[] args) { System.out.println("main method is static method"); /* * 아래는 compile error : static met..

Object Casting : 다형성 적용된 참조변수로 자식의 독자적 멤버(변수, 메서드)에 직접 접근 불가 > 접근을 위해 Object Casting을 적용 package step13; // 다형성 적용시 확인해야 하는 사항 // Object Casting 필요성 class Animal { public void sleep() { System.out.println("자다"); } public void eat() { System.out.println("동물이 먹다"); } } class Person extends Animal { public void eat() { System.out.println("사람이 수저로 먹다"); } public void study() { System.out.println("사람..

instanceof : 객체의 타입을 비교하는 연산자 > is a 관계가 성립 : true / 아니면 false 예제1 package step12; import step11.Monkey; import step11.Person; public class TestInstanceof { public static void main(String[] args) { ZooService2 service = new ZooService2(); // import 단축키 : ctrl + shift + o service.pass(new Person()); service.pass(new Monkey()); } } /* 나는 사람이다 나는 원숭이다 */ package step12; import step11.Animal; import..

Polymorphism(다형성): Polymorphism은 객체 지향의 주요 개념 "하나의 메세지 방식으로 다향한 객체들이 각자의 방식으로 동작하는 성질" "One Interface, Multiple Implements" > 다형성 적용을 위해서는 계층 구조 형성이 필요 > 하나의 사용법(인터페이스)을 익히면 다양한 객체들을 동작시킬 수 있음 > 하나의 자동차 운전법만 알면 다양한 자동차(suv, 세단, 전기차)를 운전할 수 있음 > 플레이어 사용법을 익히면 다양한 플레이어(유튜브, 곰플레이어, cd player)를 사용할 수 있음 > 생산성 및 유지보수성 향상 Animal a = new Person(); // 부모 타입의 변수로 다양한 자식 객체를 참조할 수 있음 > 부모 타입의 변수로 다양한 자식 객..