목록JAVA/JAVA 프로젝트 (9)
최코딩의 개발노트
제네릭 프로그래밍이란..?? 변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌 여러자료형을 변환될 수 있도록 프로그래밍 하는 방식입니다. 오늘은 이것에 대한 예시문제를 풀고 해석하는 시간을 가져보겠습니다. 1. x,y 가 여러개의 자료형을 가질 수 있도록 T x, V y로 선언한다. 2. 그 후 Point 옆에 선언한다. 3. Point 클래스 인스턴스 두개의 점을 생성하기 위해 생성자 오버로딩 작업을 한다. 4. get 함수 set함수를 설정하여 외부로부터 나갈 준비를 한다. 1. static 메소드를 만들어 그 속에서 제네릭 메소드를 생성한다. 생성하는 방법은 위와 같다(솔직히 이부분은 그냥 공식인듯.. ) 1-1. static 메소드(makeRectangle)를 만드는 이유는 객체를 생..
Q. 은행계좌 프로그램을 만들어봐라...! 1. Account 클래스를 만들어 계좌정보를 오버로딩을 한다.(계좌 번호, 계좌 주인, 금액) 2. getters/setters 함수를 불러와 설정한다. 1. accountArray 배열리스트를 만들어 총 100개의 계좌정보를 저장한다. 2. 입력을 위해 scanner 함수를 만든다. 3. 입력한 계좌가 존재하는지를 위해 Account 타입인 findAccount 함수를 생성한다. --------------------- [findAccount 함수 설명] 1. ano(계좌번호)를 받는다. 2. int i; 를 선언하는 거처럼 Account 타입인 account 변수를 선언한다. 그리고 그 값은 null로 지정 3. 배열의 크기만큼 null 아닐때 까지 돌리고 ..
Q. 인터페이스와 상속을 이용해 큐를 만들고 그의 따른 역사연표를 만들어보자! 1. 큐 활용 인터페이스이다. 2. 직접 국가 이름을 대입할 void enqueue 함수를 선언한다. 3. 국가 이름을 삭제 할 String dequeue 함수를 선언한다. 4. 큐라는 공간에 있는 국가 갯수인 int getSize()를 선언한다. 1. TimeLine 클래스를 만들어 ArrayList를 생성한다. 2. getCount 함수를 만들어 list의 크기를 반환한다. 1. HistoryTimeLine을 만들어 TimeLine클래스를 상속받고 Queue 인터페이스까지 상속을 받는다. 2. 오버라이딩을 통해 enqueue 함수를 만들고 배열리스트를 통해 add로 국가를 추가시킨다. 3. dequeue 함수를 통해 젤 먼..
Q. 추상메서드를 이용하여 메서드를 구현하고 금, 은, 동의 레벨과 이름을 만들며 레벨을업그레이드를 시켜라!! 1. 금 은 동의 레벨에 이름을 각각 부여하기 위해 생성자 오버로딩을 선언한다. 2. run(), situation(), strength() 는 틀만 정해주고 추상메서드로 보내버린다. 3. 나머지 메서드는 직접 구현해준다. 4. 템플릿 메서드(final)를 이용해 흐름을 짜준다. 5. jump() 메서드는 show(in count) - count를 불러와 jump()를 반복시킨다. 1. 뒤에 나올거지만 Player클래스가 있는데 p1이라는 인스턴스를 만든다. 2. p1.을 통해 jumpEX()로 넘어가 그 인자에다가 1을 부여한다. 3. Siliver 클래스인 s 인스턴스를 생성하고 이름은 김승..
Q. 기본(Silver), Gold, VIP, Diamond의 클래스를 각각 만들어 이름, 아이디, 포인트, 포인트비율, 지불금액, 전용담당 가격할인, 탈것 을 배분해서 각각 구현하라! (※Silver < Gold < VIP < Diamond※) 1. 기본 클래스이다. 오버로딩을 통해 Silver 고객이 생성될때 이름과 아이디 등급 포이트 비율을 생성한다. 2. 가격메서드 함수를 만들어 반환시킨다. 3. 보통 우리는 public void show(){System.out.println()} 이렇게 만들었지만 이번에는 반환값이 있다고 만들어봤다. 1. VIP, Gold 클래스의 부기능까지 포함된 Diamond클래스이다. 상속기능을 활용하여 Silver클래스와의 동일한 기능은 부여받는다.(super() 를 쓴..
오늘은 지난번에 공부했던 내용을 다시 복습하는 날이다. Q. 배열을 이용하여 책의 이름 저자를 구하고 library1 의 내용을 library2로 옮겨라(주소 옮기기X) 1. 다음과 같이 클래스를 만들어준다. 1. 책의 저자, 이름을 선언한다. 2. 생성자 오버로딩을 설정한다. 3. 책의 이름과 저자를 반환 및 설정을 해주도록 get과 set 메서드 함수를 이용한다. 1. 위 사진은 기본적인 책의 이름과 저자를 배열로 설정해준거다. 결과는 아래와 같다. 1. System.arraycopy함수를 써 library1의 내용을 library2로 복사한다. 2. 하지만 문제점이 생긴다. library1의 주소가 복사되어 library1의 값을 변경시켜도 둘이 똑같은 결과가 나오게 된다. 결과는 아래사진과 같이 ..