목록분류 전체보기 (137)
코딩 이야기

인터페이스는 개발 코드와 객체가 서로 통신하는 접점 역활을 합니다. 개발 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출 시킵니다. 그렇기 때문에 개발 코드는 객체의 내부 구조를 알 필요가 없고 인터페이스의 메소드만 알고 있으면 됩니다. 개발 코드를 직접 객체의 메소드에 호출하지 않고 중간에 인터페이스를 두는 이유는 개발코드를 수정하지 않고 사용하는 객체를 변경할 수 있도록 하기 위해서입니다. 인터페이스는 하나의 객체가아니라 여러 객체들과 사용이 가능하므로 어떤객체를 사용하느냐에 따라서 실행 내용과 리턴값이 다를 수 있습니다. 코드 변경 없이 실행 내용과 리턴값을 다양화 할 수 있다는 장점을 가지게 됩니다. 인터페이스 선언 인터페이스는 '~.java' 형태의 소스 파일로 작성되고 ..

객체를 직접 생성 할 수 있는 클래스를 실체 클래스라고 한다면 이 클래스들의 공통적인 특성을 추출해서 선언한 클래스를 추상클래스라고 합니다. 추상클래스와 실체 클래스는 상속관계이며 추상이 부모 실체가 자식관계이다. 실체클래스는 추상클래스의 모든 특성을 물려받고, 추가적인 특성을 가질 수 있다. 여기서 말하는 특성은 필드와 메소드이다. 실체클래스에서 공통되는 필드와 메소드를 따로 선언한 클래스를 만들 수 있는데 이것이 추상클래스이다. 추상 클래스의 용도 실체 클래스의 공통적인 특성(필드, 메소드)를 뽑아내어 추상 클래스로 만드는 이유는 두 가지가 있습니다. 1. 공통된 필드와 메소드의 이름을 통일할 목적 데이터와 기능이 모두 동일함에도 불구하고 이름이 다르다보니, 객체마다 사용방법이 달라 추상 클래스에 필..
객체 타입 확인 강제 타입 변환은 자식 타입이 부모타입으로 변환되어 있는 상태에서만 가능하기 때문에 다음과 같이 처음부터 부모 타입으로 생성된객체는 자식 타입으로 변환할 수 없습니다. Parent parent = new Parent(); Child child = (child) parent; // 강제 타입 변환을 할 수 없음 객체가 어떤 클래스의 인스턴스 인지 확인하기 위해 instanceof 연산자를 사용합니다. instanceof 연산자의 좌항에는 객체가 오고 우항에는 타입이 오는데, 좌항의 객체가 인스턴스이면, 즉 우항의 타입으로 객체가 생성되었다면 true를 리턴하고 그렇지 않으면 false를 리턴합니다. boolean result =좌항(객체) instanceof 우항(타입) instanceof..
https://nykim.work/97