0.오류오류는 주로 프로그램 외부에서 발생하는 심각한 문제로, 프로그램이 정상적으로 계속 실행될 수 없을 때 발생한다. 오류는 시스템 수준에서 발생하며, 개발자가 이를 처리할 수 없는 경우가 많다. 예를 들어, 메모리 부족이나 스택 오버플로우와 같은 상황이다. 이러한 오류는 대부분 프로그램의 비정상적인 종료를 초래한다. 1.예외예외는 프로그램 실행 중에 발생할 수 있는 예상 가능한 문제를 나타낸다. 예외는 프로그램 내에서 발생하며, 적절하게 처리할 수 있는 경우가 많다. 예외는 주로 잘못된 사용자 입력, 파일을 찾을 수 없음, 네트워크 연결 실패 등의 상황에서 발생한다. 프로그래머는 예외를 잡아내고 처리하여 프로그램이 계속 실행될 수 있도록 할 수 있다.JAVA에서 모든 예외클래스는 java.lan..
Language/JAVA
익명 객체익명 객체는 주로 특정 작업을 한 번만 수행할 필요가 있을 때 사용한다.클래스가 재사용되지않고 특정위치에서만 사용된다면 익명 객체를 사용한다.이때 부모클래스 변수는 이름없는 자식 객체를 참조하게된다.부모클래스 [필드|변수] = new 부모클래스(){}; 1.일반적인 상속다음은 일반적인 상속 방법이다. 자식 클래스 Child 를 만들어서 사용하였다.그뒤 자식클래스를 사용할때 필드에서 new연산자를 통해 자식 객체가 부모타입 변수에 대입하게하였다.package a16_Anonymous;public class Parent { void method(){}}//일반상속class Child extends Parent{ @Override void method() {}}class ClassA..
1.바깥 필드와 메소드인스턴스 맴버 클래스는 바깥 클래스의 정적필드와 정적메소드에서는 사용될수없다.package a14_NestedClass2;public class ClassA { //인스턴스 멤버클래스 class ClassB{} //정적멤버 클래스 static class ClassC{} //인스턴스 필드에서 둘다 가능 ClassB b1= new ClassB(); ClassC c1= new ClassC(); //인스턴스 메소드에서 둘다 가능 void method(){ ClassB b2= new ClassB(); ClassC c3= new ClassC(); } //static 에서 인스턴스 맴버 클래스 사용불가 //..
중첩 클래스, 중첩 인터페이스클래스 내부에 선언된 클래스, 인터페이스를 의미한다.중첩을 사용하면 두 클래스간 맴버에 쉽게 접근이 가능하고 긴밀한 관계를 맺는것이 가능해진다.package a13_NestedClass;public class ClassA { class ClassB{ } interface InterfaceA{ }} 1.중첩 클래스인스턴스 멤버 클래스객체를 생성해야지만 사용할수있는 클래스정적 멤버 클래스클래스에 바로 접근하여 사용할수있는 클래스로컬 클래스메소드가 실행되야 사용할수있는 클래스 package a13_NestedClass;public class ClassA { //인스턴스 맴버 클래스 class ClassB{} //정적 맴버 클래스 ..
1.필드 다형성구현 객체만을 교체하여 각 구현 객체에 인터페이스에서 오버라이딩된 메소드를 사용할수있다. 1-1.인터페이스public interface RemoteCotrol { public int Max_VOLUME=10; public int Min_VOLUME=0; public void Turn_on(); public void Turn_off();}interface Internet{ public void connect_internet();} 1-2.실체 클래스class Television implements RemoteCotrol,Internet{ @Override public void Turn_on() { System.out.println("TV ON..
1.인터페이스자바에서 클래스가 다중상속을 지원하지않기때문에 인터페이스를 통해 다중 상속을 지원한다.다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스다. 1-1.인터페이스 선언[public] interface 인터페이스 이름 {} 1-2.상수 필드 선언인터페이스 내부에서는 인스턴스 또는 정적 필드를 선언할수없고 상수필드를 선언할수있다.인터페이스 내부의 필드는 생략하더라도 자동으로 public static final이 붙는다.package a12_Interface;public interface RemoteCotrol { public int Max_VOLUME=10; public int Min_VOLUME=0;} 1-3.추상..
추상클래스객체를 실제로는 생성할수없는 클래스를 말한다.대신 실체 클래스들에게 특성(필드,메소드)를 상속시키는 역할을 한다.추상클래스는 실체클래스들의 필드와 메소드 이름을 통일할 목적으로 사용하고실체 클래스 작성 시간을 절약한다. 1-1.추상클래스 선언class 를 선언할때 abstract 키워드를 붙인다.이렇게 되면 객체를 생성할수없는 클래스가 된다.package a11_Abstact;public abstract class Phone { void call(){ }} 1-2.추상 메소드추상메소드는 메소드를 선언만 하는것이며 이를 실체 클래스에서 사용하기 위해서는 반드시 실체 클래스 내부에서 오버라이딩 해줘야한다.메소드 앞에 abstract 키워드를 붙이고 {} 문을 작성하지않는다.package ..
1.다형성하나의 객체가 여러 가지 타입을 가질 수 있는 것부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조 2.자동 타입변환상속관계에 있는 클래스 사이에서 가능하며 자식은 부모타입으로 자동 타입변환이 가능하다.부모 타입은 자식의 객체를 참조할수있다.package a10_Polymorphism;public class a10 { public static void main(String[] args){ Cat cat1= new Cat(); Animal animal1=cat1; Animal animal2=new Cat(); System.out.println(cat1==animal1); }}//출력true 2-1.자..