본문 바로가기

자바

추상화란 추상클래스란

추상화란?
핵심적인 개념 또는 기능을 간추려 내는것을 의미한다.
 
추상화의 종류
-반복되는 내용을 for문이나 while 문으로 추리는 것도 추상화의 한 내용이라고 한다.
-인터페이스
-상속
-추상클래스
 
추상화의 장점
-일단 데이터를 추상화 하고 나면 여기저기서 다시 추상화했던 데이터를 사용할 수 있기 때문에 좋다.
 
추상클래스란?
-하나 이상의 추상클래스를 가지는 클래스를 추상 클래스라고 부른다.
 
추상클래스는 OOP타입의 클래스이고, 추상클래스는 하나 이상의 추상 메소드를 선언한다. 추상클래스는 concrete메소드와 마찬가지로 추상 메소드를 가질 수 있다.
일반 클래스는 추상메소드를 가질 수 없다. 추상 클래스는 적어도 하나 이상의 추상메소드를 가질 수 있다.
 
추상메소드란?
-추상메소드란 정의는 되어있지만 안에 내용이 없는 메소드를 의미한다.
메소드의 내용이 없는걸 추상 메소드라고 부른다. 반드시 추상 클래스 내에서 선언되야 한다.
추상 메소드는 final로 선언될 수 없는데 그 이유는 추상클래스는 반드시 추상 메소드를 전부 구현(Implents)해야 하기 때문이다.
 
추상화의 장점
- 프로그래밍을할때 추상화를 하면 가장 큰 장점은 공통분모의 클래스를 분별할 수 있다는 것이다.
-객체지향프로그래밍에서 추상화는 코드 디자인과 implementation process of software의 복잡성을 줄여준다는 점이다.
 
추상 클래스와 추상메소드를 쓰는 시점
-추상메소드는 대부분 두개 이상의 서브 클래스가 같은 행위를 다른 방법으로 구현체를 통해서 동작할때 선언된다.
 
- 추상클래스는 new 연산자를 사용해서 직접 객체를 생성할 수 없다.
-추상클래스는 새로운 실체 클래스를 만들기 위한 부모 클래스로만 사용한다. extends 뒤에만 올 수 있음.
-추상 클래스는 new 연산자를 이용해서 객체를 직접 만들지 못하고 상속을 통해 자식 클래스만 만들 수 있다.
추상클래스도 필드와 메소드를 선언할 수 있다. 자식 객체를 생성할때 super()로 부모 클래스의 생성자를 호출되기 때문에 반드시 생성자가 필요로 한다.
 
 
 
추상화 공부하면서 참고했던 자료들
이것이 자바다.
추상클래스의 정의

'자바' 카테고리의 다른 글

예외처리  (2) 2023.11.13
객체지향의 4대 특징  (4) 2023.10.22
리스코프 치환원칙  (0) 2023.10.18