| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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
													
											
												
												- 갤러리제작 #갤러리만들기 #jsp갤러리 #jsp게시판 #jsp프로그래밍 #jsp웹프로그래밍 #jsp웹 #jsp모델1방식 #사진업로드 #jsp사진업로드 #jdbc6 #jdbc드라이버다운 #jdbc드라이버무료다운
 - union #sql99 #외부조인 #오라클조인 #sql조인 #자체조인 #비등가조인 #비등가조인 #테이블복사 #오라클테이블 #null인데이터출력
 - 서블릿선언 #서블릿선언방법 #
 - spring #스프링 #전자정부표준프레임워크 #표준프레임워크 #자바스프링 #스프링다운로드 #자바스크립트 #웹프로그래밍설정 #웹프로그래밍셋팅
 - 자바웹프로그래밍
 - 8 실무에서 가장 많이 사용하는 SQL
 - 기말고사 #방통대기말고사 #방통대후기 #방통대기말고사후기 #방통대2023년1학기 #방통대1학기 #방통대C프로그래밍 #방통대장학금 #방통대영어회화1
 - QUERY #DML #SQL문 #내림차순정렬 #오름차순정렬
 - java #array #자바 #배열 #프로그래밍 #코딩 #자바프로그래밍
 - 어노테이션 #@WebServlet #WebServlet #
 - View #
 - jsp #게시판만들기 #자바로게시판만들기 #웹테스트 #JNDI #myora #Oracle #오라클 #DAO #DTO #아파치톰캣 #웹자바셋팅 #모델1 #모델1방식 #모델1방식웹프로그래밍 #웹프로그래밍
 - html #자바와서블릿 #자바와웹연결 #웹연결
 - Model #
 - tern다운로드 #메이븐다운로드 #maven #스프링라이브러리 #자바라이브러리 #톰캣설정 #WAS #웹어플리케이션서버
 - Controller
 - 서블릿 #자바모델1 #자바모델2 #mvc #mvc패턴
 - sql #오라클 #불리언형 #boolean #webjava #java #jsp #Mybatis #마이바티스 #마이바티스환경설정 #모델1 #모델1프로그래밍 #Batis #마이바티스다운로드 #web설정 #웹프로그래밍 #게시판 #게시판제작 #게시판만
 - Doit #Doit오라클 #Doit시리즈 #연습문제
 - 자바 #웹자바 #JAVA #WEB #WEBJAVA #WEBPROGRAMMING #웹 #웹프로그래밍 #코딩 #CODING #모델1 #모델2 #모델1방식 #모델2방식
 - 방통대 #방송통신대학교 #컴퓨터과학 #컴퓨터과학과 #컴과 #방통대컴퓨터과학과 #방통대컴과 #방통대파이썬 #방통대C #방통대자바
 - ORACLE #TIGER #SCOTT #SCOTT계정 #오라클학습계정 #프로그래밍 #SQL #SQLORACLE #오라클 #오라클연습 #오라클연습계정 #오라클연습문제 #WHERE절 #오라클조건절
 - web.xml #배포지시자 #서블릿테스트
 - Init-param #context-param #
 - cos.jar #cos드라이버 #파일업로드드라이버 #루피는귀여워 #마이바티스 #MyBatis #마이바티스sql #마이바티스DB #마이바티스jsp #마이바티스이클립스 #mapper #config.xml #마이바티스다운로드
 - 자바 #웹자바 #webJava #java #코딩 #코딩초보 #ojdbc #서블릿 #자바서블릿 #javaServelet #servelet #httpServlet
 - 마이바티스환경설정
 - 정처기필기합격 #정처기합격후기
 - 정처기3회 #정보처리기사2023
 - 정처기 #정처기필기 #정보처리기사 #정보처리기사필기 #정보처리기사2023 #정처기2023 #정처기3회 #정보처리기사3회 #정보처리기사실기 #정처기실기 정처기합격
 
													Archives
													
											
												
												- Today
 
- Total
 
장미의 개발일기
인터페이스 상속 : 예제 ( 중앙부서, 모형부서3) 본문
원래
중앙부서(슈퍼클래스) < = 원, 삼각형, 사각형 부서 (서브클래스 3개) 이거 였는데
중앙부서를 인터페이스로 바꿔서 해보았다.
원래의 예제:
메소드 오버라이딩(Method Overriding) (tistory.com)
1. 인터페이스: 중앙부서
package repeat_company;
public interface Main_Team {
	
	
	String getColor();//컬러를 반환
	
	
	
	char getLogo();
	
	void setLogo(char logo);
	
	void drawSomething();
	void setColor(String color);// 색깔 설정
	
}
2. 클래스가 인터페이스 중앙부서 구현 (순서대로 원, 세모, 사각형)
package repeat_company;
public class Circle implements Main_Team{
	
	private String color;
	private char logo;
	
	
	@Override
	public String getColor() {
		// TODO Auto-generated method stub
		return color;
	}
	@Override
	public void setColor(String color) {
		// TODO Auto-generated method stub
		this.color = color;
	}
	@Override
	public char getLogo() {
		// TODO Auto-generated method stub
		return logo;
	}
	@Override
	public void setLogo(char logo) {
		// TODO Auto-generated method stub
		this.logo = logo;
	}
	@Override
	public void drawSomething() {
		System.out.println("Circle팀이 "+getColor()+"의 "+getLogo()+"를 그렸습니다.");
	} //멤버는 접근불가니 get 메소드를 이용하여 멤버를 호출 
	
}
package repeat_company;
public class Triangle implements Main_Team{
	private String color;
	private char logo;
	
	
	@Override
	public String getColor() {
		// TODO Auto-generated method stub
		return color;
	}
	@Override
	public void setColor(String color) {
		// TODO Auto-generated method stub
		this.color = color;
	}
	@Override
	public char getLogo() {
		// TODO Auto-generated method stub
		return logo;
	}
	@Override
	public void setLogo(char logo) {
		// TODO Auto-generated method stub
		this.logo = logo;
	}
	@Override
	public void drawSomething() {
		System.out.println("Triangle팀이 "+getColor()+"의 "+getLogo()+"를 그렸습니다.");
	} //멤버는 접근불가니 get 메소드를 이용하여 멤버를 호출 
	
}
package repeat_company;
public class Ranctect implements Main_Team {
	private String color;
	private char logo;
	
	
	@Override
	public String getColor() {
		// TODO Auto-generated method stub
		return color;
	}
	@Override
	public void setColor(String color) {
		// TODO Auto-generated method stub
		this.color = color;
	}
	@Override
	public char getLogo() {
		// TODO Auto-generated method stub
		return logo;
	}
	@Override
	public void setLogo(char logo) {
		// TODO Auto-generated method stub
		this.logo = logo;
	}
	@Override
	public void drawSomething() {
		System.out.println("Rectect팀이 "+getColor()+"의 "+getLogo()+"를 그렸습니다.");
	} //멤버는 접근불가니 get 메소드를 이용하여 멤버를 호출 
	
}
3. 메인함수
인터페이스형 배열 생성한 후에 로 세 가지 모형 클래스를 원소로 대입
for-each문을 사용하여 ,
색깔 배열과 로고 배열에서 순서대로 각 모형부서와 매치시키고,
drawSomething 메소드를 일괄 실행시키기.
package repeat_company;
public class CompanyMain {
	
public static void main(String[] args) {
	
	Circle c = new Circle();
	Triangle t = new Triangle();
	Ranctect r = new Ranctect();
	
	Main_Team[] teams = { c, t, r};
	String[] colors = {"빨간색", "파란색","노랑색"};
	char[] logos = {'●','△','■'};
	
	int idx=0;
	for(Main_Team e: teams) {
		e.setColor(colors[idx]);
		e.setLogo(logos[idx]);
		e.drawSomething();
		idx++;
	}
	
}	
}
출력화면:

'개발일기 > Java' 카테고리의 다른 글
| Java: IOStream : InputStream, OutputStream / 문자 Stream: Reader, Writer (0) | 2023.05.01 | 
|---|---|
| File class : 지정된 폴더의 파일 찾기, 없으면 생성하기 (0) | 2023.05.01 | 
| 메소드 오버라이딩 : 다른 예제 (동물) (0) | 2023.04.25 | 
| 메소드 오버라이딩(Method Overriding) (0) | 2023.04.25 | 
| 헷갈리는 메모리 영역 정리 : 힙영역 + 클래스 캐스팅 (0) | 2023.04.24 |