전체 글 121

제네릭 메서드

package sec04_exam01_generic_method; // 제네릭 클래스 // : Integer public class Box { private T t; // 필드 Integer t: public T get() { return t; } // 메소드 Integer get(); public void set(T t) { this.t = t; } // 메소드 set(Integer t) } package sec04_exam01_generic_method; public class Utill { /* 제네릭 메소드 문법구성 public static 리턴타입 메소드명(타입 매개변수){ return 변수; } 일반메소드 문법구성 public static 리턴타입 메소드명(타입 매개변수) { return 변수..

JAVA 2022.09.29

제네릭 타입

타입을 파라미터로 가지는 클래스와 인터페이스 선언시 클래스 또는 인터페이스 이름 뒤에 부호를 붙임 사이에는 타입 파라미터 위치 타입 파라미터 일반적으로 대문자 알파벳 한 문자로 표현 개발 코드에서는 타입 파라미터 자리에 구체적인 타입을 적어야한다 package sec02_exam02_generic_type; // 제너릭 클래스 public class Box { private T t; public T get() {return t;} // 리턴 get 메소드 public void set(T t) { this.t = t;} // set 메소드 } package sec02_exam02_generic_type; public class BoxExample { // Box 클래스 T -> String 으로 변환 pu..

JAVA 2022.09.29

컬렉션 프레임웍 List

ArrayList 기존의 vector를 개선한 것으로 구현원리와 기능적으로 동일 vector는 자체적으로 동기화 처리가 되어 있다 List인터페이스를 구현하므로, 저장순서가 유지되고 중복을 허용한다. 테이터의 저장공간으로 배열을 사용한다.(배열기반) ArrayList의 메서드 ArrayList() 기본 생성자 ArrayList(Collection c) 매개변수로 어떠한 컬렉션을 주면 컬렉션을 저장하는 ArrayList ArrayList(int initialCapacity) 배열의 길이 예제 package sec02.exam01_arraylist; import java.util.ArrayList; import java.util.List; public class ArrayListExample { public..

JAVA 2022.09.27

객체지향 추상 클래스, 추상 메서드

미완성 설계도. 미완성 메서드를 갖고 있는 클래스 abstract class Player { // 추상클래스 (미완성 클래스) abstract void play(int pos); // 추상메서드 (몸통 {}이 없는 미완성 메서드) abstract void stop(); // 추상 메서드 } 다른 클래스 작성에 도움을 주기 위한 것 ( 인스턴스 생성 불가 ) Player p = new Player(); // 에러 추상 클래스의 인스턴스 생성 불가 상속을 통해 추상 메서드를 완성해야 인스턴스 생성가능 class AudioPlayer extends Player { void play(int pos) { /* 내용 생략 */ } // 추상메서드를 구현 void stop() { /* 내용 생략 */ } // 추상메..

JAVA 2022.09.26

객체지향 매개변수의 다형성 예제

class Product { int price; // 제품의 가격 int bonusPoint; // 제품구매 시 제공하는 보너스 점수 Product(int price){ this.price = price; bonusPoint = (int)(price/10.0); //보너스 점수는 제품가격의 10% } } class Tv1 extends Product{ Tv1(){ //조상클래스의 생성자 Product(int price)를 호출한다. super(100); //Tv의 가격을 100만원으로 한다. } // Object클래스의 toString()을 오버라이딩한다. puvlic String toString() { return "Tv"; } } class Buyer { // 고객 물건을 사는 사람 int money..

JAVA 2022.09.26

객체지향 instanceof 연산자

참조변수의 형변환 가능여부 확인에 사용. 가능하면 true를 반환. 형변환 전에 반드시 instanceof로 확인해야 한다. void doWork(Car c) { //참조변수 타입Car (Car c 대신 new Car(),new FireEngin()등 올수있다) if (c instanceof FireEngine){ //1. 형변환 가능한지 확인 FireEngine fe = (FireEngine)c; //2. 형변환 fe.water(); } } 더보기 형변환을 하는 이유는 인스턴스의 원래 기능을 모두 사용하려고. Car타입의 리모콘인 c로는 water()를 호출할수 없으니 리모콘을 FireEngine타입으로 바꿔서 water()를 호출 FireEngine fe = new FireEngine(); sysou..

JAVA 2022.09.26