분류 전체보기 261

예외 처리해보기

1. ArithmeticException 클래스 : 0으로 나눴을 때 예외 발생 // ArithmeticException // 사용자에게 정수값 2개를 입력받아 나눗셈 출력하기 public void arith() { Scanner sc = new Scanner(System.in); // 스캐너로 입력받기 System.out.println("num1: "); int num1 = sc.nextInt(); // 첫 번째 정수 num1 System.out.println("num2: "); int num2 = sc.nextInt(); // 두 번째 정수 num2 // 조건문(if문)으로 처리하기

예외 처리(Exception)

1. 에러(Error, =오류) : 프로그램을 수행할 때 치명적인 상황이 발생하여 비정상적인 종료 상황이 발생한 것을 프로그램 에러라고 한다. (1) 종류 ① 논리 에러 : 소스코드 상의 문법적 오류가 없고, 프로그램을 실행했을 때에도 문제가 없지만 프로그램의 의도상 맞지 않을 때 발생하는 에러(기획과 설계가 잘못됨) ② 시스템 에러 : 컴퓨터의 오작동으로 인해 발생하는 에러이며, 소스코드로 해결되지 않는다.(심각한 에러) ③ 컴파일 에러 : 프로그램을 실행하기 전에 소스코드 상의 문법적인 문제로 발생하는 에러이며, 소스코드를 수정하여 해결한다. ④ 런타임 에러 : 프로그램을 실행하는 도중에 발생하는 에러이며, 소스코드 상의 문제가 없음에도 발생한다.(사용자의 잘못으로 발생하거나 개발자가 경우의 수를 처..

Java API

1. API(Application Programming Interface) : 응용 프로그램에서 사용할 수 있도록 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 * Java 8 버전 API - API는 Oracle에서 제공하고 있다. 필요한 것들은 여기서 찾으면 된다. ☞ https://docs.oracle.com/javase/8/docs/api/ 2. Math 클래스 (1) 특징 ① 수학과 관련된 기능들이다. → 형식: Math.사용할기능 ② 모든 필드와 메소드가 전부 static으로 되어 있다. → static 생략이 가능하고 생성자는 private이며, 객체 생성이 필요 없다. ③ java.lang 패키지 안에 존재한다. (2) π(파이) : Math.PI System.out.p..

상속과 인터페이스를 통해 휴대폰에 필요한 기술들을 제원으로 출력하는 프로그램을 작성하기

// Phone 클래스(interface) public interface Phone { // public static final 생략 가능(어차피 상수 필드이므로) char[] NUMBERPAD = {'1', '2', '3', '4', '5', '6', '7', '8', '9', '*', '0', '#'}; // 추상 메소드 /*public abstract*/ String makeCall(); // 전화 걸기 String takeCall(); // 전화 받기 // public abstract 생략 가능(interface이므로) } // Camera 클래스(interface) public interface Camera { String picture(); // 촬영 방식 추상메소드 } // CellPhone..

상속을 이용하여 학생과 직원을 관리하는 프로그램을 구현하기

① 부모 클래스 Person 먼저 생성하기 - 부모 클래스 필드값 생성 - 부모 클래스 기본 생성자 생성 후 매개변수 생성자로 필드값 초기화 - 매개변수에 대해 getter/setter 메소드 생성 - 문자열로 필드값을 전부 모아 출력값 반환 public class Person { // 필드 protected String name; // 이름 private int age; // 나이 private double height; // 신장 private double weight; // 체중 // 생성자 public Person() {} // 기본 생성자 public Person(int age, double height, double weight) { // 매개변수 생성자 this.age = age; this...

상속을 이용하기 전후를 비교해보기

[상속 받기 전] // 클래스 Banana // 필드 public class Banana { private String nation; private int price; private String retailer; private boolean yellow; // 생성자 public Banana() { // 기본 생성자 } public Banana(String nation, int price, String retailer, boolean yellow) { this.nation = nation; this.price = price; this.retailer = retailer; // 자신의 클래스 내에 있으므로 참조변수 this. 를 사용 this.yellow = yellow; } // 메소드 // getter..

다형성(Polymorphism) - 다형성, 형변환, instanceof, 객체배열, 매개변수, 바인딩

1. 다형성(Polymorphism) : 상속을 이용한 기술로, 부모 클래스로부터 상속 받은 자식 클래스 타입의 객체를 부모 클래스 타입으로 형변환하여 한번에 다룰 수 있는 기술이다. (1) 예시 ① 부모 타입의 참조(레퍼런스)변수로 부모 객체를 다루는 경우 Parent p = new Parent(); p.printP(); p.printParent(); // 부모 객체(Parent())에만 접근 가능하다. ② 자식 타입의 참조(레퍼런스)변수로 자식 객체를 다루는 경우 Child1 c1 = new Child(); c1.printP(); c1.printParent(); c1.printChild1(); // 자식 객체(Child())와 부모 객체(Parent())에 접근 가능하다. ③ 부모 타입의 참조(레퍼런..

상속(Inherit) - 상속, 오버라이딩(Overriding), 예약어

1. 상속(Inherit) : 매 클래스마다 중복된 필드와 메소드를 하나의 클래스(부모 클래스)로 모아서 정의한 후 상속을 받아 자식 클래스가 자신의 필드와 메소드처럼 사용하는 개념 (1) 목적 : 클래스를 재사용하기 위해, 연관된 클래스들에 대해 공통적인 규약을 정의하기 위해 (2) 특징 ① 클래스 간에 다중 상속은 불가하고, 단일 상속만 가능하다. ⓐ 단일 상속: Java에서는 하나의 부모클래스에게만 상속받을 수 있다.(여러 부모클래스에게 상속받을 수 없다.) ② 모든 클래스는 Object 클래스의 후손이다. ⓐ 모든 클래스에는 이미 만들어진 클래스와 새로 만들 클래스들이 모두 포함되어 있다. ⓑ Object 클래스에 있는 메소드들을 사용할 수 있다. ⓒ Object 클래스에서 상속 받은 메소드를 오..

객체로 도서명과 출판사, 저자명, 가격, 할인율 출력하기

// 도서명과 출판사, 저자명, 가격, 할인율 출력하기 // this와 this(), setter/getter 메소드를 사용 // 도서명과 출판사, 저자명은 기본적으로 입력한다. public class Book { private String title; // 도서명 private String publisher; // 출판사 private String author; // 저자명 private int price; // 가격 private double discountRate; // 할인율 // 기본 생성자 public Book() {} // 매개변수 생성자 public Book(String title, String publisher, String author) { this(title, publisher, au..

객체(Object)(2) - 필드, 생성자, 메소드

1. 필드(Field) (1) 특징 ① 클래스를 구성하는 요소 중 하나 ② 클래스 내부에서 메소드 밖의 영역에 정의가 되는 지역변수의 개념 ③ 어떠한 데이터를 저장하기 위한 역할(= 변수) (2) 변수의 구분 ① 전역변수 : 클래스 영역에 바로 선언하는 변수(클래스 내부이면 어디서든 사용할 수 있다.) ⓐ 멤버변수(인스턴스변수, 필드) - 생성 시점: new 연산자를 통해 해당 객체를 생성하는 순간에 heap 메모리 영역에 할당된다. - 소멸 시점: 객체가 소멸될 때 같이 소멸된다.(Garbage Collector가 지워줄 때) ⓑ 클래스변수(static 변수 - static이라는 예약어가 붙은 변수) - 생성 시점: 프로그램이 실행과 동시에 static 영역에 할당된다. ∴ 해당 객체가 생성되지 않아도..