본문 바로가기

전체 글64

자바의 정석 기초 ( 컴파일 에러 / 런타임 에러 / 논리적 에러 / 예외처리 정의 / 예외처리 목적 / Exception 클래스 / RuntimeException클래스 / 멀티 catch블럭 ) 남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 프로그램 오류 - 컴파일 에러 (compile-time error) : 컴파일 할 때 발생하는 에러 - 런타임 에러 (runtime error) : 실행 할 때 발생하는 에러 - 논리적 에러 (logical error) : 작성 의도와 다르게 동작 java의 런타임 에러 에러 (error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외 (exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 예외처리(exception handling)의 종류와 목적 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 목적 : 프로그램의 비정상 종료를 막고, 정상적인.. 2020. 7. 19.
자바의 정석 기초 ( 내부클래스 / 내부클래스 장점 / 익명클래스 ) 남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 내부 클래스 (inner class) - 클래스 안의 클래스 class A { // 외부 클래스 class B { // 내부 클래스 ... } } 내부클래스의 장점 - 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다. - 코드의 복잡성을 줄일 수 있다. (캡슐화) - 내부 클래스의 종류와 유효범위(scope)는 변수와 동일 class Outer { int v = 0 ; static int cv = 0; void myMethod() { int lv = 0; } } class Outer { class InstanceInner {} static class StaticInner {} void myMethod() {.. 2020. 7. 19.
자바의 정석 기초 (인터페이스의 장점) 남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 인터페이스의 장점 - 두 대상(객체) 간의 '연결, 대화, 소통' 을 돕는 '중간 역할'을 한다. - 선언(설계)과 구현을 분리시킬 수 있게 해준다. - 개발 시간을 단축할 수 있다. - 변경에 유리한 유연한 설계가 가능하다. - 표준화가 가능하다. - 서로 관계없는 클래스들을 관계를 맺어 줄 수 있다. 직접적인 관계의 두 클래스 (A - B) class A { public void methodA (B b){ b.methodB(); } } class B { public void methodB(){ System.out.println("methodB()"); } } class InterfaceTest{ public stat.. 2020. 7. 19.
자바의 정석 기초 ( 인터페이스 / 인터페이스 추상클래스 공통점 & 차이점 ) 남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 인터페이스 (interface) - 추상메서드의 집합 - 구현된 것이 전혀없는 설계도. 껍데기 (모든 멤버가 public) interface 인터페이스이름 { public static final 타입 상수이름 = 값; // 상수라서 final 붙음. 인터페이스는 변수 X , IV X, CV X public abstract 메서드이름 (매개변수목록); // 모든 멤버가 public } 인터페이스 상속 - 인터페이스의 조상은 인터페이스만 가능 (Object가 최고 조상 X ) - 다중 상속이 가능 (추상메서드는 충돌해도 문제 없음 ) / 자바는 단일 상속만 가능 interface Fightable extends Movabl.. 2020. 7. 15.
자바의 정석 기초 ( 추상클래스 (abstract class) / 추상메서드 (abstract method) ) 남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 추상클래스 (abstract class) - 미완성 설계도. 미완성 메서드를 갖고 있는 클래스 abstract class Player{ abstract void play(int pos); // 추상 메서드 몸통{}이 없는 미완성 메서드 abstract void stop(); } - 다른 클래스 작성에 도움을 주기 위한 것. 인스턴스 생성 불가 Player p = new Player() ; // 에러 - 상속을 통해 추상 메서드를 완성해야 인스턴스 생성 가능 class AudioPlayer extends Player{ void play(int pos) { 내용작성 } void stop() { 내용작성} } AudioPla.. 2020. 7. 14.
자바의 정석 기초 ( 매개변수 다형성 / 하나의 배열에 여러 종류 객체 저장 ) 남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다. 매개변수의 다형성 - 참조형 매개변수는 메서드 호출시, 자신과 같은 타입 또는 자손 타입의 인스턴스를 넘겨줄 수 있다. - 조상타입의 배열에 자손들의 객체를 담을 수 있다. * 다형성의 장점 1. 다형적 매개변수 2. 하나의 배열로 여러종류 객체 다루기 다형적 매개변수 예제) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 class Product{ int price; int bonusPoint; .. 2020. 7. 12.