추상메서드
-
추상클래스, 인터페이스와 다형성백엔드/자바 2020. 8. 7. 04:27
다형성이란? 일반 클래스의 상속 관계처럼 다형성이란 '다형성이란 여러 형태를 가질 수 있는 성질'을 말한다. 일반 클래스들의 상속 과정의 다형성의 포인트는 다음과 같았다. ◎ "상속 관계에서 부모 클래스가 자식 클래스들을 대표 한다" 부모 클래스를 자료 타입으로 하는 참조 변수가 자손 클래스의 인스턴스를 가질 수 있다는 것이다. 추상 클래스, 인터페이스와 다형성 일반 클래스 상속과 다형성의 관계와 같이 추상클래스, 인터페이스도 그와 동일한 구조를 갖는다. 즉 추상클래스, 인터페이스를 상속한 자손 클래스의 인스턴스의 주소값을 추상클래스, 인터페이스를 자료형으로 하는 참조 변수가 참조할 수 있다는 것이다. interface Human{ // 인터페이스 'Human' 선언 String me(); // 반환값이..
-
인터페이스 (interface)백엔드/자바 2020. 8. 7. 03:38
인터페이스란? 인터페이스는 일종의 추상 클래스로서 일반적인 추상 클래스보다 추상화가 심하다. 추상 클래스는 추상 메서드 뿐 아니라 일반 메서드, 일반 멤버 변수를 가질 수 있다. 하지만 인터페이스는 추상 메서드와 상수만을 가질 수 있고 그 외 어떤 요소도 허용치 않는다. 사람의 얼굴로 치면 인터페이스는 뼈대, 추상 클래스는 피부, 일반 클래스는 눈코입이라고 할 수 있다. 그만큼 추상 클래스와 더불어 다른 클래스에 도움을 주는 목적으로 만들어진다. 인터페이스의 사용 이유 인터페이스의 사용 이유는 추상 클래스를 이용하는 이유와 동일하다. 추상클래스나 인터페이스나 모두 그 자체로는 특별한 기능을 하지 않는다. 하지만 한 가지 프로그램을 여러명이 짤 때 참고하고 쓸 수 있는 가이드의 역할을 한다. 그리고 인터페..
-
추상 클래스 (abstract class)백엔드/자바 2020. 8. 6. 18:50
추상클래스란? 추상 메서드를 가지고 있는 클래스를 말한다. 일반 클래스명 앞에 astract만 붙여주면 추상클래스로서 선언이 가능하다. 아래와 같은 경우 사용할 수 없다. abstract class Animal{ // abstract + class + 클래스명 abstract void bark(); // abstract 메서드 } 아래와 같이 추상 클래스를 상속하면 추상 클래스의 멤버변수와 메서드를 쓸 수 있다. class test2 extends test{ // 추상 클래스 'test'를 상속 받아 선언한 'test2' int test_method(int a){ // 추상 클래스의 추상 메서드 'test_method'를 오버라이딩 return a; } } 추상 클래스와 일반 클래스의 차이 기본적으로 추..
-
추상 메서드 (abstract method)백엔드/자바 2020. 8. 6. 15:39
추상이란? 자바에서 추상이란 구체화와 반대되는 구체적이지 않은 대략적인 미완성을 의미한다. 추상은 abstract라는 제어자를 붙이며 선언할 수 있다. 그리고 추상의 능력을 붙여줄 수 있는 것은 클래스와 메서드이다. 추상 메서드란? 기존의 함수는 아래와 같은 형식을 가진다. ◎ 선언부: '접근제어자 + 반환값 + 메서드명 + 파라미터' ◎ 구현부: 대괄호 ( { } ) 안에 메서드의 실행 코드를 입력 class abstract_test{ // 일반적인 클래스 선언 public int test() { // 어디서나 접근 가능한 정수값을 반환해주는 test 메서드 선언 return 5; // 메서드 실행 결과로 정수 5를 반환 } } 반면 추상 클래스는 다음과 같은 특징을 가진다. ◎ 선언부: '접근제어자 ..