일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CES 2O21 참가
- Keras
- C언어
- java역사
- 데이터전문기관
- tensorflow
- KNeighborsClassifier
- web 용어
- cudnn
- web 사진
- web 개발
- paragraph
- inorder
- vscode
- pycharm
- classification
- discrete_scatter
- 자료구조
- postorder
- bccard
- CES 2O21 참여
- 대이터
- web
- 재귀함수
- 결합전문기관
- mglearn
- html
- 웹 용어
- broscoding
- 머신러닝
- Today
- Total
목록[IT]/java (101)
bro's coding
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ZQqaF/btqYZ5WvgHW/I68K3XOkJOVOJk0WVNUAR0/img.jpg)
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("사람..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dJ4nB2/btqY5LJSqNu/PpGJkKg4ngFfMJXNUlLSg1/img.jpg)
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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b3SsXa/btqY7oAOvnv/sFBbx9pCaOG5ymbhqN4gIk/img.jpg)
Polymorphism(다형성): Polymorphism은 객체 지향의 주요 개념 "하나의 메세지 방식으로 다향한 객체들이 각자의 방식으로 동작하는 성질" "One Interface, Multiple Implements" > 다형성 적용을 위해서는 계층 구조 형성이 필요 > 하나의 사용법(인터페이스)을 익히면 다양한 객체들을 동작시킬 수 있음 > 하나의 자동차 운전법만 알면 다양한 자동차(suv, 세단, 전기차)를 운전할 수 있음 > 플레이어 사용법을 익히면 다양한 플레이어(유튜브, 곰플레이어, cd player)를 사용할 수 있음 > 생산성 및 유지보수성 향상 Animal a = new Person(); // 부모 타입의 변수로 다양한 자식 객체를 참조할 수 있음 > 부모 타입의 변수로 다양한 자식 객..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/VfSyG/btqYLzLlJrr/ZM775ZXgMcvrFzhFc4gMuk/img.jpg)
Overriding을 사용해 toString 활용 package step7; // java.lang.Object의 toString() 메서드 오버라이딩 class Employee { //extends Object private String id; private String name; Employee(String id, String name){ //super(); this.id=id; this.name=name; } // 부모 클래스인 Object의 메서드 ToString()을 오버라이딩 public String toString() { // 오버라이딩으로 객체의 주솟값 대신 속성정보를 반환 return "id: " + id+" name: "+name; } } public class TestToString ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bzalRL/btqY2sXRwcN/aPLGHcbN1fb7fcI4CWUrhk/img.jpg)
java.lang.Object : 모든 클래스의 최상위 부모 클래스 > Object class를 상속 받았기 때문에 메소드들이 존재 package step6; class Car {// 별도의 상속관계가 명시되지 않으면 extends Object } class Dog { } public class TestObjectClass { public static void main(String[] args) { Car c = new Car(); // getClass()는 상속받은 Object의 메서드이므로 사용 가능 System.out.println(c.getClass()); System.out.println(new Dog().getClass()); } } /* class step6.Car class step6.Do..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/UKusj/btqYTOHpSxK/vnKeutFZIRyQazrXDzbAEk/img.jpg)
Overriding(메서드 오버라이딩) : 부모 메서드를 자신에 맞게 재정의 >문법 : 접근제어자는 더 좁아지면 안 되고 리턴파입 매개변수 매서드명은 동일 > 사용자, user, client code에서는 부모클래스 또는 상위 인터페이스만 알면 세부 구현 메서드를 보지 않아도 사용이 가능 > user 편의성 증대 > 구현부가 변경되어도 소통부는 변화되지 않음으로 유지보수성 증대 // before Overriding package step4; class Animai { public void sleep() { System.out.println("자다"); } public void eat() { System.out.println("먹다"); } } class Person extends Animai { } pu..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YC8r3/btqYN1N5EnW/tI9wnIswrKSRsIDLUH3KD0/img.jpg)
엔지니어 Engineer : 사원번호 empNo, 사원명 name, 월급 salary, 주기술 skill 의 정보로 구성 매니저 Manager : 사원번호 empNo, 담당부서명 department, 월급 salary, 사원명 name 의 정보로 구성 비서 Secretary : 사원번호 empNo, 상관명 nameOfBoss, 월급 salary, 사원명 name 의 정보로 구성 > Class Diagram package step3; // 부모 클래스 (super class) public class Employee { // extends Object private String empNO; private String name; private int salary; public Employee(String em..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rxi2K/btqYE6OzvjE/dwi5a2WKZfwO0jzqRsRab0/img.jpg)
super : 부모를 가르키는 자바 키워드 package step8; class Person{ String name = "사람이름"; public void study() { System.out.println("사람이 공부하다."); } } class Student extends Person{ String name = "학생이름"; public void test() { System.out.println(this.name); System.out.println(super.name); } } public class TestSuper1 { public static void main(String[] args) { Student s = new Student(); s.test(); } } /* * 학생이름 * 사람이름..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/m1uRG/btqYwgSyi7O/Kk6N6dGgKueURMoTGkMNGK/img.jpg)
접근제어자(Access Modifier) public > protected > default > private public : 어디서나 접근 가능 protected : 동일한 패키지 접근 가능, 상속 관계에서는 다른 패키지에서도 접근 가능 default : 동일한 페키지에서만 접근 가능 private : 동일한 클래스에서만 접근 가능 package step7; import com.domain.Bank; // 다른 페키지의 자원 사용 class KostaBank extends Bank{ // ctrl + shift + o : import public void test() { publicTest(); protectedTest(); // default, private은 접근 불가 } } public class..