자바

    Chapter 10-1. 예외 클래스

    예외 클래스 에러(error) 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램 실행 오류가 발생하는 것 예외(exception) 에러 이외에 프로그램 자체에서 발생하는 오류 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류 일반 예외, 실행 예외 예외 처리(exception handling) 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 하는 것 자바에선 예외 발생 가능성이 높은 코드 컴파일 시 예외 처리 유무를 확인하나 모든 예외를 확인하진 않음 예외의 종류 숙지 예외와 예외 클래스 자바에서는 예외를 클래스로 관리 모든 예외 클래스는 java.lang.Exception 클래스를 상속 일반 예외와 실행 예외 클래스는 RuntimeException 클래스를 기..

    Chapter 08-2. 타입 변환과 다형성

    인터페이스의 다형성 : 프로그램 소스 코드는 변함이 없는데, 구현 객체를 교체함으로써 프로그램의 실행결과가 다양해지는 것 자동 타입 변환 : 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것 : 필드의 다형성과 매개 변수의 다형성을 구현 가능 구현 객체가 인터페이스 타입으로 변환되는 것은 자동 타입 변환에 해당 필드와 매개변수의 타입을 인터페이스로 선언하면 다양한 구현 객체를 대입해서 실행결과를 다양하게 만들 수 있음 필드의 다형성 한국 타이어와 금호 타이어는 공통적으로 타이어 인터페이스를 구현 둘 다 타이어 인터페이스에 있는 메소드 소유 타이어 인터페이스로 동일하게 사용할 수 있는 교체 가능한 객체 필드 타입으로 타이어 인터페이스를 선언하면 필드 값으로 한국, 금호 타이어 객체 대입 가능 pub..

    Chapter 07-1. 상속

    상속 자식이 부모가 물려준 것을 자연스럽게 이용하는 것처럼 프로그래밍에서도 이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만들기 때문에 중복되는 코드를 줄여줄 수 있고, 부모 클래스(상위 클래스)의 수정으로 모든 자식 클래스(하위 또는 파생 클래스)들도 수정되는 효과가 있어 유지 보수 시간을 최소할 수 있다 클래스 상속 자식 클래스를 선언할 때 어떤 부모 클래스를 상속받을 것인지 결정하고, 선택된 부모 클래스는 extends 뒤에 기술 class 자식클래스 extends 부모클래스 { // 필드 // 생성자 // 메소드 } 특징 다중 상속 허용 X : extends 뒤에 오는 부모 클래스는 여러 개일 수 없고 단 하나만 올 수 있다 접근 제한자에 따른 상속 제외 부모 클래스에서 private 접근 ..

    Chapter 06-6(2) 패키지와 접근 제한자

    접근 제한자(Access Modifier) 클래스 및 인터페이스 그리고 이들이 가지고 있는 멤버의 접근을 제한하기 위해 사용 public : 외부 클래스가 자유롭게 사용할 수 있도록 함 protected : 같은 패키지 또는 자식 클래스에서 사용할 수 있도록 함 private : 개인적인 것이라 외부에서 사용될 수 없도록 함 default : 위 3가지 접근 제한자가 사용되지 않을 경우 적용되고 같은 패키지에 소속된 클래스에서만 사용할 수 있도록 함 접근 제한자 클래스 내부 동일 패키지 자식 클래스 다른 패키지 private O X X X default O O X X protected O O O X public O O O O 클래스의 접근 제한 클래스 선언 시 해당 클래스를 어느 범위까지 사용할 것인지 ..

    항해99 알고리즘 모의고사

    2022년 11월 22일 화요일 오후 1시 항해99에서 이틀 뒤에 열리는 알고리즘 테스트를 대비한 모의고사를 진행했다. 15시까지 제출로 2시간의 시간이 주어졌다. 문제는 총 3문제가 주어지는데 그 중 한 가지를 풀고 스크린 레코딩을 통하여 음성과 함게 풀이 영상을 찍은 뒤 유튜브에 업로드하고 영상 링크와 해당 문제의 코드를 제출하면 된다. 1번은 신대륙 발견이라고 명명되어 있었지만 시작 날짜를 입력하였을 때 일정 일수 뒤의 날짜가 출력되는 문제였고 3번은 소수점이 들어가고 (상)이 표기되어 있길래 프로그래머스에서 익숙하게 푼 배열 유형의 문제인 2번을 선택했다. 아래는 2번 문제에 대한 설명과 조건이고 제출한 풀이 코드이다. 2번. 몇시간 했더라? (중) 문제 설명 지용이는 항해에서 한 주 동안 공부 ..

    프로그래밍 기초 언어 과제 제출 (Java)

    항해99 프로그래밍 기초주차 언어 과제 제출 (Java) 다음 코드를 실행하면 출력 결과로 5를 기대했는데 4가 출력되었다. 어디서 잘못 작성된 것일까? int var1=5; int var2=2; double var3=var1/var2; int var4=(int)(var3 * var2); System.out.println(var4); // 출력 : 4 문제 해석) 5라는 값을 정수형 변수 var1에 할당, 2라는 값을 정수형 변수 var에 할당, 변수 var1을 변수 var2로 나눈 값을 실수형 변수 var3에 할당, 변수 var3과 var2를 곱한 값을 int 형으로 캐스팅하여 var4에 할당 이에 대한 값을 5로 기대했는데 4로 출력되었다. 위에서는 정수형 변수인 var1과 var2를 ..