[주제]- 클래스의 상속 방식, Over Ride [중요]1. 상속- 자식 클래스의 생성자가 호출될 때 부모 클래스의 생성자가 먼저 호출됨- 상속 방법: 클래스 오른쪽에 'extend 부모 클래스이름' 추가- 클래스는 다중 상속 불가- 인터페이스는 다중 상속 가능 2. Over Ride- 기존에 사용되는 메소드를 동일한 이름으로 내용만 재정의- 부모 클래스의 메소드를 자식 클래스에서 재정의 하는 것을 의미- 자식 클래스에서 'super' 사용 시 부모 클래스의 메소드를 사용 [소스]■ carClass.javapackage sample03.Car; public class carClass { protected int speed; // 'protected' 자식 클래스는 사용 가능 public carClass..
[주제]- 클래스를 활용하여 배열 기반의 스택 구현하기 [중요]- 'playerCls' 객체를 이용하여 'DTOClass'에 접근 후 멤버 변수의 값을 저장 ※ 'playerCls'라는 가상의 껍데기만 있는 선수를 만든 후 정보(man_id ~ money)를 입력 후 저장 - 'dto'라는 배열(스택) 객체를 통해 'DTOClass'에 접근하여 배열 인덱스에 'playerCls'를 저장 [소스 코딩]■ DTOClass.javapackage sampleDao; public class DTOClass { private int man_id; private String first_name; private String last_name; private String position; private int money..
[주제]- 이전에 구현한 야구게임을 클래스를 분리하여 관리하기 ※ 교육센터 선생님이 공개한 야구게임 소스를 활용 [소스 코딩]■ baseballClassTeacher.javaimport java.util.Scanner; class baseballClass { public static void main(String[] args) { // base ball int r_num[] = new int[3]; int u_num[] = new int[3]; boolean clear; // init(초기화) clear = false; // Random 1 ~ 10 -> 3" myRandom(r_num); clear = loop(r_num, u_num); result(clear); } public static void ..
[주제]- 생성자란 [중요]- 객체 초기화 시 메소드를 호출하기 때문에 프로그램 실행 시 최초로 1회만 실행- 동일한 이름의 메소드 사용이 가능하며, 리턴 값이 없음 [소스 코딩]■ Human.javapackage constructorClass; public class MyClass {/* * [constructor] 생성자 * 생성 시에 1회 호출 * - 다시 호출 불가능 * 클래스 이름과 동일한 메소드이며, 리턴 값이 없음 * - Over Load 가능 */ // 기본 생성자 MyClass() { System.out.println("MyClass 생성자 MyClass()"); } MyClass(char c) { System.out.println("MyClass 생성자 MyClass(char c)");..
[주제]- 객체 클래스 사용 방법, 접근 제어자 개념 [중요]- public: 다른 클래스에서도 사용. 외부에서 접근하여 값 변경도 가능- private: 현재 정의된 클래스 내에서만 사용- protected: 동일한 패키지 내에 있는 클래스끼리 사용 가능- 'this'는 인자로 받는 값과 동일한 이름을 가질 경우 사용 [소스 코딩]■ Human.java123456789101112131415161718192021222324252627282930313233343536373839404142434445464748package classTest; public class Human {/* * [member 변수] * public 설정: 다른 클래스에서도 접근 가능 * private 설정: 은닉성. Human 클래..
[주제]- 'BufferedReader' 클래스와 'readLine' 메소드 활용 [중요]- File 클래스는 오류 발생빈도가 많아 'try, catch' 내부에서 처리- 'BufferedReader' 클래스의 객체는 저장 공간이 사용되면 다시 사용할 수 없으므로 다시 초기화 필요- 'readLine' 메소드는 while문을 이용하여 사용 [소스 코딩]package fileClass3; import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException; public class mainClass { public static ..
[주제]- File 클래스의 각종 메소드들의 기능 [소스 코딩]package fileClass; import java.io.File;import java.io.IOException; public class mainClass { public static void main(String[] args) {/* * [파일] * - 저장해 놓을 문서 * ※ ex) txt */ // 'cdir'이 컴퓨터의 c드라이브를 가리킴 File cdir = new File("c:\\File Test\\"); String filelist[] = cdir.list(); // 'cdir'의 경로(c드라이브 - File Test폴더)에 있는 파일을 모두 출력 for (int i = 0; i
[주제]- try, catch 사용방식 [중요]- 오류를 검사하고, 오류 발생 시 처리에 대한 내용을 작성할 수 있음- 'catch'에 사용되는 'Exception' 클래스는 다양한 종류가 있지만 'Exception'만 작성해도 모든 것을 포함시킴- 'catch'가 2개 이상일 경우 해당 오류 종류에 맞는 '오류종류Eception'으로 작성하여 각각 대처 가능- 'finally'는 잘 사용되지 않음 [소스 코딩]package sample01; public class mainClass { public static void main(String[] args) {/* * [try catch] * try { * 오류 검사할 내용 * } catch(오류 클래스 이름 변수명) { * 내용 * } finally { ..
[주제]- 트럼프 카드 블랙잭 게임 구현 [중요]- 기존에 카드를 섞는 코드 활용- 기본 블랙잭 규칙에서 일부 변경하여 적용 [소스 코딩]/* * [게임 규칙] * * 공통 * - 유저와 딜러의 1:1 대결 * - 52장의 트럼프 카드를 사용(13장(A~K)씩 4묶음_ * ※ 문양(스페이드, 다이아몬드, 하트, 클로버)의 의미는 없음 * - 최초 기본 카드는 각각 2장을 배분 * - 'J, Q, K'는 10점으로 계산 * - 'A'는 '1점' 또는 '11점'으로 계산되는데, * '점수 > 21점 == 1점'으로 계산, '점수
[주제]- 이전에 구현한 '야구게임'의 소스코드를 영역 별로 나눠 메소드로 만들기 [중요]- 사용자에게 숫자를 입력 받는 메소드는 게임을 반복시키는 'loop' 메소드 안에서 사용 [소스 코딩]package baseballGameMethod; import java.util.Scanner; class baseballGameMethod { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int randNum[] = new int[3]; // 무작위로 결정된 숫자를 저장할 공간 while (true) { myRandom(randNum); result(loop(randNum, scan)); if (!reGame(sca..
[주제]- overload 메소드를 활용하여 2개의 정수 or 실수를 계산하는 계산기 구현 [중요]- 모든 문자는 문자열로 받았기 때문에 메소드에 인자로 보낼 때는 정수형 or 실수형으로 변환 필요 ※ Integer.parseInt(문자열): 문자열을 정수형으로 변환 ※ Double.parseDuble(문자열): 문자열을 실수형으로 변환 [소스 코딩]package calculatorMethod; import java.util.Scanner; class calculatorMethod { public static void main(String[] args) {/* * 1. 첫 번째 수 입력 * 2. 연산자 입력 * 3. 두 번째 수 입력 * ※ 모두 문자열로 입력 받음 * * [추가 구현] * 정수인지 실수..
[주제]- wrapper 클래스란 [중요]- 배열의 객체 생성 방법과 동일 [소스 코딩]package wrapper; class wrapper { public static void main(String[] args) {/* * [wrapper] * * 기본 자료형(char, boolean, byte, short, int, long, float, double)을 * 사용하기 편리하도록 '클래스화' 해놓은 것 * 클래스 오른쪽에 선언된 변수는 'object(객체) or instace(주체)'라고 함 * * char -> Character * boolean -> Boolean * byte -> Byte * shot -> Short * int -> Integer * long -> Long * float -> F..
[주제]- Over Load 개념, 사용 방식 [중요]- 같은 이름의 메소드를 인자 값만 다르게해서 다양하게 사용 가능- 이름이 같고 반환되는 자료형이 다르다고 해서 다른 걸로 인식하지 않음 [소스 코딩]package overload; class overload { public static void main(String[] args) {/* * Over Load * 같은 메소드 이름을 가진 메소드 * (인수, 인자, parameter)로 구분됨. * 자료형과 인수의 getter수로 구분됨. */ method(); method('A'); method(5); method('B', 10); method(15, 'C'); } public static void method(){ System.out.println(..
[주제]- 가변 인수란, 사용 방식 [중요]- 메소드의 인자가 2개 이상일 때 다른 인자보다 먼저(맨 왼쪽) 위치해 있으면 안됨- 작성 방식: '자료형...인자 이름' [소스 코딩]package methodClass3; class methodClass3 { public static void main(String[] args) { // 가변 인수 int r = disp1(1, 2, 3, 4, 5); System.out.println(r); disp1(1, 2, 3); disp2("world", 10, 15, 20); } public static int disp1(int...num){ System.out.println("disp1 호출"); int sum = 0; for (int i = 0; i
[주제]- 정렬 작업을 세 개의 영역으로 나눠서 메소드로 만들기 [중요]- 값을 저장하는 공간(배열 num)은 'input' 메소드 안에서 생성 및 초기화 작업이 이뤄짐- 반복되는 값 교체 과정은 두 번을 동일하게 사용하기 때문에 'swap' 메소드로 만듦 [소스 코딩]package sortMethod; import java.util.Scanner; class sortMethod { public static void main(String[] args) { // 정렬 값 초기화 및 입력 int updown[] = new int[1]; int num[] = input(updown); // 정렬 루프 sorting(num, updown[0]); // 결과 출력 sortPrint(num); } public st..
[주제]- 하나의 메소드를 사용하여 두 수의 몫과 나머지 구하기- 메소드를 사용하여 배열에 저장된 값들을 연산하기 [중요]- 변수를 메소드에 인자로 보낼 시 저장된 값만 보내줌 ※ 변수 자체에 값 변동 X - 배열은 메소드에 인자로 보낼 시 주소값을 보내줌 ※ 변수 자체에 값 변동 O [소스 코딩]package methodClass2; class methodClass2 { public static void main(String[] args) { int number1 = 9; int number2 = 2; int result; // 몫 구하기 int tag[] = new int[1]; // 나머지 구하기 result = div(number1, number2, tag); System.out.println(n..
[주제]- 포커 카드를 섞은 후 뽑은 카드의 그림과 숫자를 알려주기 ※ 그림을 알아내는 알고리즘과 숫자를 알려주는 알고리즘은 'method'로 만들기 [중요]- 카드숫자를 구할 땐 처음에 배정된 순수 번호에서 13으로 나눈 나머지를 카드숫자로 정함- '13, 26, 39, 52' 번 카드는 카드숫자를 구할 때 13으로 나눈 나머지가 0이 되므로 마지막 숫자인 13(K)로 강제 지정 [소스 코딩]package trump; class trump { public static void main(String[] args) {/* [카드 뽑기 프로그램] - 랜덤으로 52개의 숫자를 생성 ※ 0 ~ 51 - 카드 묶음에 넣고 그 중 무작위로 카드 1개를 뽑음 - 뽑은 카드의 그림 종류를 확인 - 뽑은 카드의 카드 숫..
[주제]- 'method'의 작동방식 [중요]- 메소드는 'main' 밖에서 정의해야 함- 'main'에서는 호출하여 사용 [소스 코딩]package methodClass; class methodClass { public static void main(String[] args) {/* [함수] Function, Method ※ 차이점: Function - 독립적, Method - Class에 소속 A B C D E public static void method() { 내용 반환값(필수 x) } - A: 접근지정자 - B: 키워드(정적) - C: 반환값 - D: 메소드 이름 - E: 인자=인수=parameter - 인자값은 1개 이상 가능 ※ 무한 - 반환값은 최대 1개만 가능 - 함수의 설정은 메인 밖에..
[주제]- 추억의 야구 게임 만들기 [중요]- 'strike' 판단 시 숫자가 같아야 한다는 것과 위치(배열 인덱스)도 동일해야 함 [소스 코딩]package baseballGame; import java.util.Scanner; class baseballGame { public static void main(String[] args) {/* [야구 게임] 1. 1 ~ 10 숫자 중 랜덤으로 3개 결정 2. 사용자는 숫자 3개 입력 3. 랜덤 숫자는 중복 불가 ※ 사용자 입력 값은 중복될 수 있으나, 중복하여 입력하지 않는다는 것을 가정*/ Scanner scan = new Scanner(System.in); int randValue = 10; // 무작위로 지정되는 숫자의 범위 값 ※ 1 ~ 10 in..
- Total
- Today
- Yesterday
- 교육센터
- Reference
- SWT
- 설명
- SysUtils
- 말하기
- 왕초보 영어회화 100일의 기적
- 작문
- Delphi
- 여행영어 100일의 기적
- wfd
- 상황
- 자료구조
- java
- System
- ADODB
- 문법
- 일기
- RA
- 영어
- Pte
- 대상
- 알고리즘
- 응용
- tdataset
- 계산기
- VCL
- 정렬
- 독해
- 스택
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |