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 | 31 |
Tags
- 프로세스 #CPU #시공유 #커널
- 썸네일 #이미지
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #endpoint #cloudwatch #monitoring
- aws #아키텍트 #과정 #vpc #인프라 구축 #auto scailling #lauch template #ec2 instace #private #subnet
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 #스토리지 #isci #이미지 #업로드
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- 쓰레드 #쓰레드풀 #프로세스
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 스토리지 #objects storage #events #upload #알림
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- aws #아키텍트 #과정 #vpc #인프라 구축 #php #alb #application #load #balancer #security #group #igw #ec2 #vpc #virtual #private #cloud
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #replica #복제본 #aurora #database #고가용성
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #message #queue #sns구독
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- aws #아키텍트 #과정 #vpc #인프라 구축 #t.g #target group #alb #application #load #balancer #web #server
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- aws #아키텍트 #과정 #vpc #인프라 구축
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #trigger #python3.9 #패키지 #
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- aws #아키텍트 #과정 #vpc #인프라 구축 #db #장애조치 #reand only #replica #events
- aws #아키텍트 #과정 #vpc #인프라 구축 #aurora #database #rds #rdbs #load #balancer #web #page #haproxy
- aws #아키텍트 #과정 #vpc #인프라 구축 #alb #load balancer #t.g #target #group #haproxy #high ability #db #replica #region
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- 업로드 #lambda #함수 #모바일 이미지 #썸네일 이미지
- aws #아키텍트 #과정 #vpc #인프라 구축 #ec2 #instance #launch #template #생성 #ami #amazone #machine #image
- aws #아키텍트 #과정 #vpc #인프라 구축 #amazon sns #server #less #architecture
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #고가용성 #테스트 #alb #application #load balancer #application
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #round robin #process #high ability #auto scailling #app server #launch template
- aws #아키텍트 #과정 #vpc #인프라 구축 #second nat #gateway #routing table #route53 #고가용성 #private subnet #
- 비트 #바이트 #이진수
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 |