코딩은 실력보다 시력이지

분류 전체보기 37

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..