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
- 파이썬
- rnn
- HTML
- Position
- html 기초
- 메서드
- ObjectOutputStream
- java
- FlowLayout
- 반응형웹
- inline
- 미디어쿼리
- 사전학습
- Codility
- Database
- oracle
- 푸리에 변환
- FileWriter
- 반응형 웹 프로젝트
- CSS
- html 프로젝트
- iframe 태그
- BorderLayout
- 퍼셉트론
- css 기초
- FFT
- 예제
- g검정
- 상속
- GridLayout
Archives
- Today
- Total
도라에몽주머니
[Java/Eclipse] Java 28일차 본문

상속
- 부모클래스로 매개변수를 전달하는 경우, 자식클래스의 객체를 매개변수로 전달할 수 있음
- 자식클래스로 매개변수를 전달하는 경우, 부모클래스의 객체는 매개변수로 전달할 수 없음
예제
다형성을 이용해서 도형의 높이와 출력 문자를 입력받아 도형을 그리는 프로그램을 작성하시오.
1. DrawData.java
- 멤버필드
높이, 출력문자
- 멤버메소드
setHeight()
setOutchar()
getHeight()
getOutchar()
draw() - 다형성 이용
2. IsoTriangle.java → DrawData 클래스 상속
- 멤버메소드
draw() - 출력문자로 도형그리기
3. Pyramid.java → DrawData 클래스 상속
- 멤버메소드
draw() - 출력문자로 도형그리기
<실행 결과>
x
xx
xxx
xxxx
xxxxx
xxxxxx
xxxxxxx
xxxxxxxx
xxxxxxxxx
xxxxxxxxxx
#
###
#####
#######
#########
###########
#############
###############
#################
###################
// Prac1.java
public class Prac1 {
public static void main(String[] args) {
DrawData drawData;
drawData = new IsoTriangle();
drawData.setHeight(10);
drawData.setOutchar('x');
drawData.draw();
drawData = new Pyramid();
drawData.setHeight(10);
drawData.setOutchar('#');
drawData.draw();
}
}
// DrawData.java
public class DrawData {
private int height;
private char outchar;
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public char getOutchar() {
return outchar;
}
public void setOutchar(char outchar) {
this.outchar = outchar;
}
public void draw() {
}
}
// IsoTriangle.java
public class IsoTriangle extends DrawData {
public void draw() {
for(int i=1; i<=super.getHeight(); i++) { // 층
for(int j=1; j<=i; j++) { // "*" 문자 출력
System.out.print(super.getOutchar());
}
System.out.println();
}
}
}
// Pyramid.java
public class Pyramid extends DrawData {
public void draw() {
for(int i=1; i<=super.getHeight(); i++) { // 층
for(int j=1; j<=super.getHeight()-i; j++) { // 공백 출력
System.out.print(" ");
}
for(int k=1; k<=2*i-1; k++) { // "*" 문자 출력
System.out.print(super.getOutchar());
}
System.out.println();
}
}
}
추상화(Abstraction)
: 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것.
- 상속 받는 클래스에게 특정 함수를 강제로 만들게 할 때 사용
- 추상 클래스는 단독으로 사용할 수 X (new로 선언 불가)
- 반드시 상속해서 사용해야 함
'Study > Java' 카테고리의 다른 글
| [Java/Eclipse] Java 30일차 (0) | 2022.10.27 |
|---|---|
| [Java/Eclipse] Java 29일차 (0) | 2022.10.26 |
| [Java/Eclipse] Java 27일차 (0) | 2022.10.24 |
| [Java/Eclipse] Java 26일차 (0) | 2022.10.21 |
| [Java/Eclipse] Java 24, 25일차 (0) | 2022.10.20 |