Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- oracle vmbox #rocky #linux9 #명령어 #암호화인증 #해시알고리즘
- haproxy #wordpree #php #linux #가상화 #가상머신 #내용정리
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- mysql #linux #설정 #wordpress #웹사이트 #db 연결 #
- 비트 #바이트 #이진수
- 리눅스 #명령어 #사용자 계정 정보 관리
- selinux #실행모드 변경 #설정방법
- storage #로컬스토리지 #세션스토리지 #백그라운드 서비스
- 사용자 그룹관리
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- 명령어 #기초 #비밀번호 설정
- vmware #가상화 #aws 클라우드 #아키텍트 #과정 #가상머신 #컨테이너 #docker
- 쓰레드 #쓰레드풀 #프로세스
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 리눅스 #명령어 #내용정리 #mac #특수권한
- 리눅스 #
- virtualbox #vmware #router #nat #pat #네트워크 구성도 #aws #ubuntu #
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- samba #가상머신 #daemon
- 인바운드 #아웃바운드 #방화벽설정
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- 리눅스 #기초설정 #가이드 #명령어
- ubuntu #설정변경 #vmware #vmbox #linux #명령어
- 리눅스 #사용자계정 #정보관리
- 프로세스 #CPU #시공유 #커널
- sasac #aws 클라우드 #아키텍트 과정 #가상화 #vmbox #vmware #esxi #tar #selinux
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- 리눅스 #기초 #네트워크 #포트 번호 #역할
- tar #build #배포 #통신포트 #설정방법 #linux #apache
Archives
- Today
- Total
요리사에서 IT개발자로
스파르타 부트캠프 Java 추상클래스와 상속 정리 (다락방) 본문
클래스 설계구조(다이어그램)
Iphone에도 call이 있다.
@Override
public void call(){
System.out.println("아이폰에서 전화가 울렸습니다");
}
Sausung에도 call이 있다.
@Override
public void call(){
System.out.println("갤럭시에서 전화가 울렸습니다.");
}
이렇게 각자의 행위를 수정해야 사용을 한다면 ?
Interface로 빼서 사용을 하는게 좋다
public interface Phone {
void call();
}
이유?
사람이 코드 구현 설계를 하다가
call()행위에 대한 메서드를 정의 해 놓지 않으면
or
Itelli J에서는
call()행위에 대한 메서드를 정의 해 놓지 않으면
컴파일 에러가 발생한다.
추상클래스 같은 경우
sarch() 을 예를들자면
search 메서드안의 검색하다라는 print가 정의되있다.
public abstract class SmartPhone implements Phone, Camera {
private String brand;
public void search(){
System.out.println("검색하다");
};
SmartPhone을 상속받는
Iphone과 Galaxy,
Iphone을 상속받는 IPhone15도
search메서드 행위를 사용할 수 있다.
결국
변경을 하지않아도 사용할 수 있고 변경을 해서 사용해도 되는것.
Abstract = 추상클래스
각자의 클래스에서 Interface안의 지정된 행위를
필수로 구현해서 정의해야되고
정의한 메소드(행위)를
각 클래스 특성마다 맞게 수정해서 사용해야되는것
Interface = 인터페이스
public interface Phone {
void call();
}
public class Main {
public static void main(String[] args) {
IPhone iPhone = new IPhone("15");
Iphone15 iphone15 = new Iphone15();
Galaxy galaxy = new Galaxy("23");
//Interface에 있는 call메스드를 사용할 수 있다.
iPhone.call();
galaxy.call();
public class Main {
public static void main(String[] args) {
IPhone iPhone = new IPhone("15");
Iphone15 iphone15 = new Iphone15();
Galaxy galaxy = new Galaxy("23");
//Interface에 있는 call메스드를 사용할 수 있다.
iPhone.call();
galaxy.call();
iphone15.call();
이렇게 각각의 클래스 특성에 맞게 정의해서 사용하는것이
Interface
public abstract class SmartPhone implements Phone, Camera {
private String brand;
public void search(){
System.out.println("검색하다");
};
public class Main {
public static void main(String[] args) {
IPhone iPhone = new IPhone("15");
Iphone15 iphone15 = new Iphone15();
Galaxy galaxy = new Galaxy("23");
//SmartPhone에 있는 search를 상속받아 사용
iPhone.search();
galaxy.search();
iphone15.search();
SmartPhone에 정의되있는걸 가져와서 사용해도되고 변경해서 사용할 수 있다.
@Override
public void search() {
System.out.println("사파리에서 검색");
}
@Override
public void search() {
System.out.println("구글에서 검색");
}
반응형
'Java' 카테고리의 다른 글
크기가 작은 부분문자열 (Java) (0) | 2024.06.03 |
---|---|
스파르타 부트캠프 Java 제네릭 정리 (다락방) (0) | 2024.06.03 |
스파르타 부트캠프 Java 제네릭(Generics) (0) | 2024.05.25 |
스파르타 부트캠프 자바 5강 쓰레드 상태와 제어 (0) | 2024.05.12 |
스파르타 부트캠프 자바 4강 예외처리 (0) | 2024.05.11 |