목록분류 전체보기 (210)
개발의 시작과 끝
bbm - 12일차 ArrayList 예제 1 - lastIndex / size 함수 class Main { public static void main(String[] args) { ArrayList ar = new ArrayList(); ar.add(100); ar.add(200); ar.add(300); } } class ArrayList { int[] datas = new int[3]; int lastIndex = -1; // int size = 0; // size로 하려면 시작할 때 방 번호를 0으로 해주면 된다. void add(int data) { lastIndex++; datas[lastIndex] = data; // 배열은 인덱스 관리가 중요하기 때문에 size로 했을 경우 datas를 먼..
bbm - 12일차 배열 재 복습 배열 int, String 타입 class Main { public static void main(String[] args) { // 방법 1 int[] arr = {1,2,3,4,5}; for(int i = 0; i
bbm - 11일차 static class Main { public static void main(String[] args) { 사람 a사람1 = new 사람(); a사람1.이름 = "홍길동"; a사람1.나이 = 22; a사람1.자기소개(); // 출력 : 저는 22살 홍길동 입니다. 사람 a사람2 = new 사람(); a사람2.이름 = "홍길순"; a사람2.나이 = 25; a사람2.자기소개(); // 출력 : 저는 25살 홍길순 입니다. a사람1.자기소개(); // 출력 : 저는 22살 홍길동 입니다. } } class 사람 { int 나이; String 이름; static void 자기소개() { System.out.println("저는 " + 나이 + "살 " + 이름 + " 입니다."); } } ..
bbm - 8일차 생성자(Constructor) class Main { public static void main(String[] args) { 사람 a사람 = new 사람(29, "홍길순", "대전", "쾌활"); System.out.println(a사람.나이); // 출력 : 20 System.out.println(a사람.이름); // 출력 : 홍길동 System.out.println(a사람.고향); // 출력 : 한양 System.out.println(a사람.성격); // 출력 : 착함 } } class 사람 { int 나이; String 이름; String 고향; String 성격; 사람(int 나이, String 이름, String 고향, String 성격) { this.나이 = 나이; this..
bbm - 7일차 무기 인스턴스 변수 이용 class Main { public static void main(String[] args) { 전사 a전사 = new 전사(); a전사.a무기 = new 칼(); a전사.공격(); a전사.a무기 = new 창(); a전사.공격(); } } class 전사 { 무기 a무기; // 전사가 칼이나 창같은 무기에 대해 모르므로 칼 또는 창의 변경에 자유롭다. void 공격() { a무기.사용(); } } class 무기 { void 사용() { } } class 창 extends 무기 { int 데미지 = 80; String 이름 = "창"; void 사용() { System.out.println(이름 + "(으)로 공격합니다."); System.out.println..
a9A - 12일차 구성(Composition) class Main { public static void main(String[] args) { 사람 a사람 = new 사람(); a사람.나이 = 20; a사람.a왼팔 = new 팔(); } } class 사람 { int 나이; 팔 a왼팔; //구성패턴 -> 구성방식 / 팔은 사람의 구성품일 뿐임. 다리 a왼다리; } /* 이것은 잘못된것임 --> 팔은 사람의 구성품이지 사람이 아니기 때문. 사람 클래스를 이용해 객체를 만들 수 있다. */ class 팔 { } class 다리 { }
bbm - 6일차 abstract(추상) abstract란 상속을 강제하는 일종의 규제로 abstract 클래스나 메소드를 사용하기 위해서는 반드시 상속해서 사용하도록 강제하는 것이 abstract다. 즉 부모 클래스에는 메소드의 시그니처만 정의해놓고 그 메소드의 실제 동작 방법은 이 메소드를 상속 받은 하위 클래스의 책임으로 위임하고 있다. class Main { public static void main(String[] args) { 무기 a무기 = new 칼(); a무기.공격(); // 출력 : 칼로 공격합니다. a무기 = new 활(); a무기.공격(); // 출력 : 활로 공격합니다. } } abstract class 무기 { abstract void 공격(); } class 칼 extends ..
bbm - 5일차 class Main { public static void main(String[] args) { 홍길동 길동 = new 홍길동(); System.out.print(길동.이름); System.out.println(길동.나이); System.out.println(길동.직업); 홍길동 길동2 = new 홍길동(); 길동2.이름 = "홍길순"; 길동2.나이 = 31; 길동2.직업 = "디자이너"; System.out.print(길동2.이름); System.out.println(길동2.나이); System.out.println(길동2.직업); 자동차 car1 = new 자동차(); System.out.println(car1.속력); car1.감속(); System.out.println(car1...