abstract
-
추상클래스, 인터페이스와 다형성백엔드/자바 2020. 8. 7. 04:27
다형성이란? 일반 클래스의 상속 관계처럼 다형성이란 '다형성이란 여러 형태를 가질 수 있는 성질'을 말한다. 일반 클래스들의 상속 과정의 다형성의 포인트는 다음과 같았다. ◎ "상속 관계에서 부모 클래스가 자식 클래스들을 대표 한다" 부모 클래스를 자료 타입으로 하는 참조 변수가 자손 클래스의 인스턴스를 가질 수 있다는 것이다. 추상 클래스, 인터페이스와 다형성 일반 클래스 상속과 다형성의 관계와 같이 추상클래스, 인터페이스도 그와 동일한 구조를 갖는다. 즉 추상클래스, 인터페이스를 상속한 자손 클래스의 인스턴스의 주소값을 추상클래스, 인터페이스를 자료형으로 하는 참조 변수가 참조할 수 있다는 것이다. interface Human{ // 인터페이스 'Human' 선언 String me(); // 반환값이..
-
추상 클래스 (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를 반환 } } 반면 추상 클래스는 다음과 같은 특징을 가진다. ◎ 선언부: '접근제어자 ..
-
제어자(Modifier)백엔드/자바 2020. 7. 27. 16:12
1. 제어자(modifier)란? 클래스와 클래스 멤버의 선언시 사용하여 클래스나 멤버에 부가적인 의미를 부여하는 키워드를 말한다. 이를 통해 클래스나 클래스 멤버의 특성이나 사용 범위 등을 제한할 수 있다. 제어자는 크게 접근 제어자(access modifier)와 기타 제어자로 나뉜다. 2. 접근 제어자(access modifier) 정보 은닉을 위해 만들어진 제어자이다. 접근 제어자를 통해서 외부에서 클래스 내 멤버의 접근 범위를 설정할 수 있다. 접근 허용 범위를 표로 나타내면 다음과 같다. 접근자 / 접근 범위 같은 클래스 같은 패키지 상속 클래스 전체 public O O O O protected O O O default O O private O (1) public public 제어자가 붙은 멤..