코딩은 실력보다 시력이지

빅데이터교육과정/JAVA 15

DAY 10,11. Generic과 계산기 정리

Generic 기존에 사용되던 변수형 외에 임의로 변수형을 지정하여 사용하며. type을 상속하거나 인터페이스를 이용하여 변수형으로 사용될 수 있는 것들을 제한할 수 있다. package practice; class DBox{ private L left; private R right; public void set(L o, R r) { left = o; right = r; } public String toString() {return left+"-"+right;} } class DDBox{ private DB1 box1; private DB2 box2; public void set(DB1 a, DB2 b) { box1 = a; box2 = b; } public String toString() { retur..

DAY 9. Inner Class 와 AWT 그리고 계산기

Inner class (내부 클래스) : 독립된 클래스가 아니라. 특정 클래스에서 멤버처럼 사용되고자 만든 클래스 : outer class의 멤버를 자유롭게 사용하기 위해서 씀. : 이벤트 처리할 때 많이 사용(그래픽처리) 1. member inner class 2. static inner class 3. local inner class 4. anonymous inner class public class InnerTest { private int a; protected int b; static int c = 10; static int d=50; public InnerTest() { a = 20; b = 30; c = 10; } abstract class Abs{ abstract void out2(); }..

DAY 8. interface와 추상클래스

추상 클래스 : 아직 구체화가 덜 된 클래스 : 추상 메소드가 하나 이상 존재하는 클래스. : 객체를 생성할 수 없는 클래스, 예외 : 익명 내부 클래스(anonymous) : 오직 상속을 목적으로 제공. : 상속받은 sub class도 객체를 생성할 수 없다. -> sub class 객체 생성을 하고자 할 경우 추상메소드(구체화가 안 된 부분)를 꼭 오버라이딩 해서 사용하면 객체를 생성할 수 있다.(추상화) : 이름만 정의되어 있는 메소드 : abstract 키워들르 꼭 붙여서 사용 : 추상 클래스도 abstract를 꼭 붙여서 만들어야한다. 추상 클래스는 객체 생성을 할 수 없으며 상속을 목적으로 사용되어지는 클래스이다. 사용이유 1. 공통되는걸 부모 클래스가 가지고 있어야함. 2. sub class..

DAY 6. 상속(is~A) / Override

Is~ A is like a 관계를 가지면 안된다 (마치 ~와 같다 xx) 상속 (extends) 자바는 100프로 상속관계 자바는 객체끼리는 단일 상속만을 지원한다.(명확성) Super class의 private member는 직접 접근할 수 없다.(캡슐화 파괴 방지) Super() : super call : super class 의 생성자를 호출 : sub class 생성자 함수의 첫번째 라인에 항상 존재한다. 다만 보이지 않을뿐.. : super class의 default constructor 가 아닌 오버로딩 된 constructor 를 호출하기 위해서 명시적으로 super() 를 사용 오버라이딩 1. Super class에 있는 메소드를 sub class에서 똑같이 제공하는 것 2. 목적 1) ..

DAY 5. Class : has~ a 응용

특정 과목의 성적을 입력하는 프로그램과 n개의 과목의 성적을 입력하는 프로그램. 성적, 이름, 연산, 메인 class를 각각 나누며 연산 class에서 성적과 이름 처리 class를 호출하며 연산된 결과를 메인 class에서 실행한다. public class Gname { //field private String name; public Gname() { name = ""; } public String getName() { return name; } public void setName(String name) { this.name = name; } } public class Gvalue { //field private int kor; private int eng; private int mat; //const..

DAY 5. Class : has~a

this - 자기자신에 접근하는 레퍼런스 instance method의 첫번째 매개변수로 존재하고 있다. this() - this 호출 -> () : 호출한다 자기자신을 호출한다. -> constructor를 호출한다. : constructor에서 또 다른 cons를 호출. ( 오버로딩된 constructor를 호출) 클래스 관계 ~has a : ~가 a를 가지고 있다. : 객체가 필요에 의해서 객체를 가져다 쓰는 관계 : 독립된 객체 : 데이터 클래스 데이터 클래스를 갖다쓰는 클래스 : 데이터 관리 클래스 public class ThisExam { private int num1,num2; public ThisExam() { num1=num2=0; } public ThisExam(int num) { th..

DAY4. Class.

1. field : 객체 사용시 지속적으로 사용되어지는 메모리(변수) -> 메소드 호출시만 사용하면 지역변수. 객체를 사용 하는 동안 사용하는건 필드 : 주로 private 로 지정, 직접적 사용보단 메소드를 통해 사용한다. : instance field : 객체 생성하고 사용 가능(객체당 1개씩) : static field : 객체 상관 없이 사용가능(미리 생성됨), 공유 ex) 공유된 지갑, 날짜 static. 하나만 만들어두면 여러사람이 볼 수 있음 2. constructor(생성자) : 객체 생성시 자동 호출되는 메소드 ex) new 사용할 때 생성자를 명시적으로 만들지 않을 경우 디폴트 생성자가 제공이 된다. 그러나 명시적으로 한개 이상 생성자를 만들 경 우, 디폴트는 제공되지 않는다. 디폴트 ..