추상화 2

인터페이스(Interface)

인터페이스 (Interface) - 클래스를 확장하여 구현 - 각 클래스의 목적에 맞게 기능을 구현 1. 인터페이스의 구조(=기본 설계도) - 인터페이스는 클래스가 '무엇을 할 수 있다'라고 하는 기능을 구현하도록 강제하는 특징을 가지며, 다중 구현 가능 - 상수, 추상 메서드로 구성 2. 인터페이스 목적 - 자바의 다형성을 극대화하여 개발 코드의 수정을 줄이고 유지보수성을 높임 - 상속 관계가 아닌 것들도 다형적 변수에 의해 같은 타입으로 만들 수 있음 3. 인터페이스 구조 public interface Calc { double PI = 3.14; // 인터페이스에서 선언한 변수(일반 변수로 선언)는 컴파일 과정에서 상수로 변환 // 인터페이스에서 선언한 메서드(abstract 안쓰고 선언)는 컴파일 ..

이론 공부 2023.03.12

추상화

추상화 - 공통된 행동, 필드를 묶어 하나의 클래스를 만드는 것 1. 추상 클래스 (=미완성 설계도) - 하나 이상의 추상 메서드(선언만 되어있고 구현부가 없는 메서드)를 포함한 클래스 - 추상 클래스를 상속받는 자식 클래스는 부모 클래스의 추상 메서드를 반드시 구현해야만 하는 강제성을 가짐 2. 목적 - 공통된 필드와 메서드를 통일할 목적 : 필드와 메서드의 이름을 통일하여 유지보수성을 높이고 통일성을 유지할 수 있음 - 실체 클래스 구현 시, 시간 절약 : 추상 클래스로부터 받은 추상 메서드의 구현부만 만들면 되므로 처음부터 끝까지 만들 필요가 없음 - 규격에 맞는 실체 클래스 구현 : 설계자의 의도로써 만들어진 추상 클래스를 개발자가 사용하면 추상 메서드를 반드시 사용해야 함, 오버라이딩 하지 않으..

이론 공부 2023.03.02