티스토리 뷰

공부/2019W java 수업

0206 java

sssssssszii 2020. 2. 11. 23:51

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 같이 있다.

인터페이스는 기능적인 보완역할이라서 달린다, 먹는다 이런 이름을 정의할 수도 있는데 클래스는 그렇지 않다 ~~

 

'공부 > 2019W java 수업' 카테고리의 다른 글

0211 java  (0) 2020.02.11
0207 java  (0) 2020.02.11
0204 java  (0) 2020.02.11
0203 java  (0) 2020.02.11