★ MyArrayList 클래스를 구현 조건 1. 행동 boolean add(String value) Append 모드로 배열의 맨 끝에 요소를 추가한다. value: 추가할 요소 return: 성공 유무 String get(int index) 원하는 위치에 있는 요소를 가져온다. index: 가져올 요소의 위치 return: 가져올 요소의 값 int size() 요소의 개수를 반환한다. return: 요소의 개수 String set(int index, String value) 원하는 위치의 요소를 다른 값으로 수정한다. index: 수정할 요소의 위치 value: 수정할 요소의 값 return: 수정하기 전 요소의 값 String remove(int index) 원하는 위치의 요소를 삭제한다. inde..
★ 컬렉션(Collection) JCF, Java Collection Framework (향상된) 배열 기존의 순수 배열 > 성능, 사용법 등 개량 > 클래스 길이 가변 > 방의 개수를 마음대로 늘리거나 줄이는게 가능 컬렉션 종류 1. List 계열 ArrayList LinkedList Queue stack vector 2. Set 계열 HashSet TreeSet 3. Map 계열 HashMap TreeMap Properties HashTable ★ ArrayList 클래스 순수 배열하고 구조가 가장 유사함. 사용 빈도가 가장 높음 첨자(index)를 사용해서 요소(element)에 접근 양식 ArrayList ns2 = new ArrayList(); ex1) ArrayList 사용법 //ArratLi..
★ 클래스 종류 클래스 인터페이스 추상 클래스 enum 제네릭 클래스 Object 3. 추상 클래스 구현 멤버를 가질 수 있다 > 일반 클래스의 성질 추상 멤버를 가질 수 있다. > 인터페이스의 성질 추상 메소드 추상클래스 내에서 작성하는 추상메소드 표기법 public abstract void typing(String txt); 실제 존재하는 멤버를 가질 수 없다. 행동의 제약 소스코드 abstract class Keyboard{ public int price; public int weight; public void test() { System.out.println("test"); } //void typing(String txt); //인터페이스내에서만 작성하는 추상메소드 표기법 //추상메소드 publi..
★ 인터페이스 (interface) 클래스의 일종 자료형(변수 생성 가능) 인터페이스 멤버 선언 interface 인터페이스명 {} 멤버 변수 선언 불가능 추상 메소드를 멤버로 가진다. 인터페이스는 추상메소드들의 집합 > 구현 멤버를 가질 수 없다. 구현멤버(변수, 구현부를 가지는 메소드) 소스코드 interface Mouse { void drag(); void click(); void dblclick(); } //인터페이스를 상속받을 때는, implements //The type G300 must implement the inherited abstract method Mouse.drag() //인터페이스를 부모로하는 자식 클래스의 의무!! //- 물려준 추상 메소드의 몸통을 만들어야 한다. > 구현부 ..
★ Inheritance 객체 지향 프로그래밍(Object Oriented Programing) 클래스 > 객체 중심의 프로그래밍 방식 상속 (Inheritance) 부모가 가지는 재산을 자식에게 물려주는 행동 부모(클래스)가 가지는 재산을 자식(클래스)에게 물려주는 행동 상속하는 이유? 비용 절감 코드 재사용 상속관계에 있는 클래스 호칠 부모 클래스 상속 받은 메소드를 수정하는 기술 소스코드 //아빠 + 아들 마주친 상황 OverridingParent hong = new OverridingParent(); hong.name = "홍길동"; hong.hello(); OverridingChild jhong = new OverridingChild(); jhong.name="홍철수"; //jhong.hi();..
예제 1) 요구사항 : 과자 클래스를 설계하시오 조건 가격, 용량, 생산일자, 유통기한 모든 멤버 변수의 접근 지정자는 private으로 한다. 멤버 접근을 위한 Setter와 Getter를 정의한다. 용량 : 쓰기 전용, 300g, 500g, 850g 가격 : 읽기 전용, 850원(300g), 1200원(500g), 1950원(850g) 생산일자 : 쓰기 전용(Calendar) 남은유통기한 : 읽기 전용, 생산된 제품의 유통기한 기준 : 7일(300g), 10일(500g), 15일(850g) Bugles 객체 메소드 void eat() : 과자 먹기 먹을수 있는 날짜 = 유통기한 - 현재 - 제조시간 5 : 먹을 수 있는 날짜가 5일 남음 3 : 먹을 수 있는 날짜가 3일 지남 소스코드 package ..