본문 바로가기

전체 글

[Day13][Java] Overloading(오버로딩) / final(예약어) / interface(인터페이스) Ⅰ. Overloading(오버로딩) -- Package 1개(my.day13.e.methodOverloading)와 Class 2개(OverloadingTest, MainApp)을 생성한다. public class OverloadingTest { public int sum(int a, int b) { return a+b; } } public class MainApp { public static void main(String[] args) { OverloadingTest ot = new OverloadingTest(); int total = ot.sum(10,20); System.out.println(total); } } -- sum이라는 이름의 함수가 이미 존재하고 있는데 다시 sum이라는 이름의 함수.. 더보기
[Day12][Java] 다형성 / 추상 메소드 / 추상 클래스 Ⅰ. 다형성 -- Day11의 소스 코드를 재활용하였다. -- console 가독성을 위해 기본 생성자 삭제 public class MainApp { public static void main(String[] args) { Animal dg1 = new Dog(); dg1.setName("뽀삐"); dg1.setBirthYear(2010); dg1.printAnimal(); Animal ct1 = new Cat(); ct1.setName("톰"); ct1.setBirthYear(2017); ct1.printAnimal(); Animal dk1 = new Duck(); dk1.setName("도널드"); dk1.setBirthYear(2018); dk1.printAnimal(); } } ▷결과 1.동물명 .. 더보기
[Day11][Java] 캡슐화 / 다형성 Ⅰ. 캡슐화 -- 프로젝트를 진행할 때, A, B, C, D가 각자 맡은 클래스에서 자신의 클래스만 관리해야 한다. -- 관리하는 과정 중에 누구나 접근이 가능해서 진행하고 있는 코드를 방해하는 것을 방지하기 위해 캡슐화(encapsulation, 은닉화)라는 과정이 필요하다. 접근제한자 (접근지정자, accessmodifier) 자기 자신 클래스 내부 동일패키지에있는 다른클래스 다른패키지에있는 하위(자식)클래스 그 외의 영역 public O O O O protected O O O X default(package) O O X X private O X X X -- 각 접근제한자마다 어떻게 나타나는지 알아보기 위해 Package 2개(my.day12.b.accessmodifier/my.day12.c.acce.. 더보기
[Day10][Java] 상속 / 구인구직 관리 프로그램 구인구직 관리 프로그램을 만들어 보자. -- Package 1개(my.day11.a.inheritance)와 Class 4개(MainApp, Company, Member, Gujikja)를 생성한다. ▶▶ Member 클래스 package my.day11.a.inheritance; public class Member { String id; String passwd; String name; boolean isExists(String id, String passwd) { if(this.id.equals(id) && this.passwd.equals(passwd)) return true; else return false; } } -- Member 클래스는 Gujikja 클래스와 Company 클래스의 공통 f.. 더보기
[Day9][Java] 이차원 배열 / String 클래스 메소드 / 로또 당첨 프로그램 / Calendar / OOP(Object Oriented Programming) Ⅰ. 2차원 배열 1. 이차열 배열 선언 ▷ 값 입력 첫 번째 방법 int[][] pointArr = new int[4][3]; -- 4행 3열인 배열을 만든다. [0][0] [0][1] [0][2] [1][0] [1][1] [1][2] [2][0] [2][1] [2][2] [3][0] [3][1] [3][2] -- 행과 열에 알아보기 쉽게 숫자를 붙인 것이지 값을 입력한 게 아니다. 초기치(== 0)으로 저장되어 있다. pointArr[0][0] = 10; pointArr[0][1] = 20; pointArr[0][2] = 30; pointArr[1][0] = 40; pointArr[1][1] = 50; pointArr[1][2] = 60; pointArr[2][0] = 70; pointArr[2][1.. 더보기
[Day8][Java] 가위바위보 게임 / 숫자 맞히는 게임 / 레이블 / 배열 / 확장된 for문 / Random / 로또 당첨번호 / 버블 정렬 Day7에서 한 가위바위보 게임을 이어서 만들어보자. pcNum userNum 1 1 or 2 or 3 2 1 or 2 or 3 3 1 or 2 or 3 int pcNum = (int)(Math.random()*(3-1+1))+1; String result = ""; // 사용자가 이긴 경우 if((pcNum==1 && userNum==2) || (pcNum==2 && userNum==3) || (pcNum==3 && userNum==1)) { result = ">>> 사용자님이 이겼습니다.\n"; } // 사용자가 진 경우 else if((pcNum==2 && userNum==1) || (pcNum==3 && userNum==2) || (pcNum==1 && userNum==3)) { result = .. 더보기
[Day7][Java] while문 / do~while문 / Math.random / equals / 가위바위보 프로그램 Ⅰ. while 문 변수의 초기화; while(조건식) { 조건식이 참(true)이라면 반복해서 실행할 명령문을 실행하고, 조건식이 거짓(false)이라면 while의 { } 이 부분을 빠져나간다. 반복해서 실행할 명령문; 증감식; } while문을 사용하여 Hello, Java! 를 5번 출력해 보자. int cnt=5;// 5번 반복한다. (count) int loop=0;// while문을 돌 때 반복 횟수 while(loop < cnt) { System.out.println("Hello, Java!"); loop++; } 변수 loop를 while문 안이 아니라 조건식에서 후위 증가를 할 때 결과를 생각해 보자. int cnt=5; loop=0; while(loop++ < cnt) { //0 < .. 더보기
[Day6][Java] For 문제풀이 / 별 찍기 -- 정수 아닌 문자를 입력할 수 있으므로 정수를 입력할 때까지 반복적으로 입력을 받는다. ▷ 첫 번째 방법 -- nextInt();는 스캐너 버퍼를 초기화를 위해 nextLine();도 써 주어야 하기 때문에 번거롭고 잘 사용하지 않는다. for (;;) { // 무한루프 try { // 오류가 발생하면 던져버린다 System.out.print(">> 몇단볼래? =>"); int dan = sc.nextInt(); // 7 // qwer // java.util.InputMismatchException 발생 sc.nextLine(); System.out.println("===" + dan + "단 ==="); for (int i = 0; i < 9; i++) { System.out.println(dan .. 더보기