본문 바로가기

Java

(37)
Ch10 예외처리 네트워크연결 - 데이터베이스연결 - 사용 - 에러 - 데이터베이스닫기 - 종료 데이터베이스를 사용하고 나서 닫는게 매우 중요하다. 예외처리를 통해 프로그램 종료 이전 데이터베이스를 닫을 수 있게 해야한다. 예외 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인한 오류로 예방할 수 있음 예외처리를 통해 정상 실행 상태가 유지되도록 할 수 있다. cf.에러:하드웨어의 잘못된 동작 또는 고장으로 인한 오류, 정상 실행 상태로 돌아갈 수 없음 예외처리 에러를 수정하는 게 아니라 에러가 나면 처리하지 못하는 부분에 대해서 프로그램하는 것으로, 선택이 아닌 필수이다. 예외의 종류 자바에서는 예외를 클래스로 관리한다. JVM은 프로그램 실행중 예외가 발생하면 해당 예외 클래스로 객체를 생성한다. 그리고나서 예외..
Ch7 상속 문제(합,차,곱) [문제1] *여기서 차란 합한 것에서 마지막 수를 뺀 것 A클래스 : 1~10까지의 합, 차(합-10) B클래스 : 1~100까지의 합, C클래스 : 1~ 200까지의 합, 차(합-200), 곱(1~20까지) D클래스 : 전체 출력 ​ 공통인 것 공통인 클래스 : BB 메소드 합, 차 public class A extends BB { } ------------------------------------ public class B extends BB { } ------------------------------------ public class C extends BB { long multi(int number3) { //1~20까지의 곱 long result = 1; for(int i=1; i
Ch07 상속 - 다형성 (판매관리시스템) Cafe.Java.다형성문제.지사별 판매관리시스템 더보기 아래 문제를 풀때 기능 설계와 상세설계를 하여서 검사받고 구현하세요. ​ 1. 판매관리 지사는 서울지사, 경인지사, 강원지사, 제주지사가 있다. 각 지사별 제품명 : 컴퓨터, 프린터가 있다. 컴퓨터가격은 200만원 프린터가격은 50만원이다. ​ 출력하고 싶은 것은 지사별 판매량을 입력받아서 매출현황을 모두 보고 싶다. ​ ------------------------ 판매량관리 프로젝트 ------------------------- 1. 입력 2. 출력 3. 종료 선택?(1) ​ 지사는? 1. 서울지사, 2. 경인지사, 3. 강원지사 4. 제주지사 선택은?(1) ​ 제품은? 컴퓨터 서울지사 컴퓨터 판매량은? 10 계속 입력하시겠습니까?(y/n) ​ ..
Ch7 - 다형성 TireEx 프로그램 요구사항 1. 자동차의 바퀴는 앞왼쪽, 앞오른쪽, 뒤왼쪽,뒤오른쪽 네 가지이다. 2. 각 바퀴 생명의 초기값은 앞왼쪽부터 6, 2, 3, 4으로 주어진다. 3. 자동차가 총 5회 달린다. 3-1. 자동차가 한번 달릴 때마다 각 바퀴의 수명이 하나씩 줄어든다. (각 바퀴는 앞왼쪽,앞오른쪽,뒤왼쪽, 뒤오른쪽 순으로 구른다고 가정한다.) 3-1-1. 수명이 다할 경우, 펑크 메시지를 출력하고 자동차가 멈춘다. 3-1-1-1.해당 바퀴를 다른 부품(앞바퀴 - HankookTire, 뒷바퀴 - KumhoTire)으로 교체한다. (앞왼쪽HT(15) 앞오른쪽HT(14) 뒤왼쪽KT(13) 뒤오른쪽KT(17)) 3-1-2. 바퀴의 수명을 출력한다. *이번 예제의 포인트는 다형성을 이용해 타이어를 부모 클래스에 ..
Ch7 상속 - 다형성 및 추상클래스 다형성 (polymorphism) 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질 코드측면에서 보면, 다형성은 하나의 타입에 여러 객체를 대입함으로써 다양한 기능을 이용할 수 있도록 해준다. 다형성에 대한 이해 더보기 자식객체는 부모 객체의 속성과 기능을 그대로 상속받아 이용하고, 재정의할 수 있다. 즉 자식객체는 부모 객체를 모두 가지고 있되, 좀 더 다양한 특성을 가지고 변형된다. 이로 인해 부모타입은 자식 객체를 저장할 수 있는데, 코드 측면으로 볼 때 클래스(자식→부모) 간의 변화(형변환)이 이루어지는 것이다. 이를 두고 하나의 타입에 여러 객체를 대입한다고 하고, 부모 타입으로의 자동형변환이 이루어진다고 한다. 그렇다면, 단순히 상속받은 멤버를 변형하여 자식 클래스로 객체를 생성..
Ch7 상속 자식(하위,파생) 클래스가 부모(상위) 클래스의 멤버를 물려받는 것 상속의 특징 1. 상속을 허용하지 않는 클래스(부모로 사용 불가능한 클래스) : final class 클래스명으로 선언 2. 단일상속만 가능하다 : 하나의 클래스로부터 부모 클래스는 하나만 존재할 수 있다. 자바언어 : 단일상속 class A extends P { } C#,C++언어 : 다중상속 class B extends P1,P2 { } Java C#변환 3. 하나의 부모 클래스에 여러 자식 클래스가 있을 수 있지만, 하위 클래스들은 서로 무관하다. 4. 상속관계를 자손, 부모, 조부모 등 1:1로 계속 상속할 수 있다. 5. 상위클래스는 하위 클래스의 어떤 멤버도 호출,사용할 수 없다. 자식클래스에 접근하고 싶다면 일반적인 타클래스..
Ch6 클래스 - 메소드 17 매개 변수의 수를 모를 경우 package BookExampleHomeWork; public class Computer { int sum1(int[] values) { //리턴타입은 int, 매개변수를 정수배열 values로 가지는 메소드 sum1 선언 int sum = 0; for (int i = 0; i < values.length; i++) { sum += values[i]; //sum은 누적 변수이기 때문에 for문 밖에 선언 } return sum; //return값은 sum } int sum2(int... values) { //리턴타입은 int, 마찬가지로 매개변수를 정수 배열 values로 가지는 메소드 sum2 선언(단, 여기선 ...를 이용함) int sum = 0; for (int..
Ch6 - 패키지, 접근제한자 패키지 클래스를 체계적으로 관리하기 위한 파일 시스템의 폴더와 같다. 패키지를 선언하면 클래스를 컴파일하는 과정에서 자동적으로 폴더를 생성한다. 또한 패키지는 클래스를 유일하게 만들어주는 식별자 역할을 한다. 클래스 이름이 동일하더라도 패키지가 다르면 다른 클래스로 인식한다. 클래스의 전체이름 이름 : [상위패키지.]하위패키지.클래스명 com.mycompany.Car -> 실제 파일 시스템 : com\mycompany 폴더에 Car.class 저장되어 있음 클래스를 이동할 경우에는 패키지 전체를 이동시켜야 한다. 더보기 패키지의 이름규칙 1. 숫자로 시작할 수 없고, 특수문자는 _, $만 쓸 수 있다. 2. java로 시작하는 패키지는 자바 표준 API에서만 사용하므로 사용해선 안된다. 3. 모두 소문자..