본문 바로가기

JAVA16

인스턴스 메서드와 정적 메서드 인스턴스 메서드란? 객체가 생성(new)되어야지만 사용이 가능하다. 인스턴스 메서드는 호출될 때마다 해당 메서드를 호출한 객체의 상태에 따라 동작이 달라진다. 인스턴스 메서드를 사용하는 상황 객체의 특정 상태나 속성에 따라 동작이 달라지는 경우 객체간의 상호작용이 필요한 경우 다형성을 이용해 다양한 동작구현이 필요한 경우 예시 public class Program { public static void main(String[] args) { Calculator calc = new Calculator(3,4); calc.add(); } } public class Calculator { // 멤버변수를 객체화 private int x; private int y; // 객체화한 x, y를 가지고 넘겨받은 값을 .. 2024. 2. 4.
예외처리 오류의 종류 구문오류 논리오류 예외 예외란? 누군가만, 어떤 컴퓨터만, 어떤 상황에서만 예외적으로 발생하는 오류를 말한다. 예외는 데이터 입출력에서 발생한다. 예외처리는 무엇인가? 파일을 입출력할 때 하드디스크를 직접 이용하는 것이 아닌 인터페이스를 사용해 하드디스크를 엑세스한다. 이 인터페이스를 API라고 한다. API는 데이터를 입출력할 때 권한이 있는지, 파일이 존재하는지, 파일 용량이 충분한지 체크한다. API는 프로그램에 예외를 만났다는것을 보고한다. 예외처리 과정 1. 예외 보고 예외를 발생시키는 것을 의미한다. 예외클래스에 대한 객체화해서 throw한다. throw : 메서드에서 예외상황을 감지했을 때, 그것을 호출한 쪽에 알린다. 예외를 던지면 그 즉시 실행은 중지된다. throws : 메.. 2024. 1. 31.
인터페이스 인터페이스란? 분리되어있는 객체를 사용할 수 있게 하는 약속이다. 인터페이스는 책임만 지게 하는 것이다. 부품이 분리 ( 여러개의 메서드를 가짐 ) 코드의 일부분만 분리 ( 메서드에서 일부분만 분리 ) 1. 인터페이스는 일종의 추상클래스이며 오직 추상메서드와 상수만을 멤버로 가질 수 있다. (JDK1.8부터 디폴트 메서드와 static 메서드도 가능하다.) 모든 멤버변수는 public static final이며 이를 생략가능하다. ex) int bonus =10; // public static final int bonus =10; 모든 메서드는 pulbic abstract이며 이를 생략가능하다. ex) int result(); // public abstract int result(); 2. 인터페이스는 .. 2024. 1. 28.
다형성과 형변환 다형성이란? 한 타입의 참조변수로 여러 타입의 객체를 참조하는 것을 말한다. 다형성이 가능한 경우 두 클래스가 서로 상속관계 조상타입의 참조변수로 자손타입의 인스턴스 참조 가능 자손타입의 참조변수로 조상타입의 인스턴스 참조 불가 ex) 조상클래스가 Animal / 자식클래스가 Dog 일 때 Animal animal = new Animal(); Animal animal = new Dog(); ( O ) Dog 인스턴스 중에서 Animal클래스의 멤버들만 사용 가능 >> 실제 인스턴스 타입으로 형변환하면 Dog인스턴스의 모든 멤버 사용 가능 Dog dog = new Animal(); ( X ) 실제 인스턴스인 Animal의 멤버 개수보다 참조변수인 Dog가 사용가능한 멤버 개수가 더 많기 때문 형변환 서로 .. 2024. 1. 27.