티스토리 뷰
class CalGUI{
Frame f; //계산기 틀
Button b;
public CalGUI() { //생성자 - 목적 : 멤버변수 초기화
f = new Frame();
b = new Button("0");
}
}
UI ~ 그 보이는 그대로 이미지 그 자체
UX ~ 사용자 경험 그 누르고 그런 기능
처음에 판을 만들 때 x가 작동하지 않는 이유는
사용자마다 만들고 쓰는게 다르기 때문에 기본적으로 제공되지 않음
javax.swing.JButton ->자바 자체적으로 만든 것
여기서 x가 작동하는데 이게 실제로 종료는 아니고 visible이 false인것.
강제종료해야대그리고 콘솔에 모니터모양 ㅏ살표를 클릭하면 이전에 실행한 것 중 종료되지 않은 것 직접 종료시켜줘야해
import 단축키 ctrl+shift+O
//추상화 클래스
//한개 이상의 추상화 메소드를 가지고 있는 클래스
//abstract가 문장 첫부분에 선언되어있어야해
//추상화 클래스는 객체화가 불가능(new 할수없어)
abstract class MyAbstract{
//추상화 메소드
//메소드 기능이 정의되어 있지 않은 메소드
//기능 정의를 위한 {}이 제거되어야함
//문장의 첫부분에 abstract 선언이 되어야함
abstract public void add();
}
//동물(추상화), 고양이(상속)이면 일을 나눠서 할때, 추상화메소드를 하위 클래스에서 강제하게됨.
//고양이가 동물의 추상메소드를 안쓰면 추상화클래스가 되고, 객체화를 못해. 그래서 결국 메소드를 써야해(재정의 ; 메소드 오버라이딩). 이걸 강제하게 됨.
//유지보수관리의 관점
+변수를 상수화 시키려면
final int AGE = 10; //default같은 것
+인터페이스에서는
대문자로만 쓰면 상수화. abstract, final 둘다 안써도 돼(왜냐하면 추상화메소드와 상수만 들어가기 때문에)
+인터페이스에는 추상화메소드가 있기 때문에 반드시 구현해야함(implements)
구현하지 않으면 그냥 추상화클래스가 되는 것임.
class MyInterEx implements MyInter{
}
이거 안에 메소드 쓰든지 추상화 하든지!
상속이 있는데 굳이 인터페이스 쓰는 이유는?
자바의 상속은 단일(하나의) 메소드만 지원하기 때문이다.
인터페이스를 같이 쓸 수 있어. (단일 상속을 보완하는 역할 !!)
자바의 모든 메소드는 extends Object가 생략되어 있는데,
이걸 보면, extends와 implements를 같이 쓸 수 있다.
인터페이스는 기능적인 보완역할이라서 달린다, 먹는다 이런 이름을 정의할 수도 있는데 클래스는 그렇지 않다 ~~
- Total
- Today
- Yesterday
- LS2
- includes
- 경북대 서문
- 포항근대화거리
- 만달포차
- 헤이커피
- js
- 동성로맛집
- 꽃보라동산
- 경북대 서문 출사
- 아이유 부산콘
- 사천 출사지
- Filter
- 반곡지출사
- 다랭이마을 논
- 사천 출사
- LG soft india 인턴
- 곡성 코스모스축제
- 양복패션쇼2018
- 두남자의찜닭
- 알로하돈부리
- 가을 출사지
- 사천 노을
- IE 지원 안됨
- LunaBus
- 피크닉음식
- 경산반곡지
- 스탠딩오더
- lovepoem콘서트
- 대구출사지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |