// MyFrame.java import java.awt.BorderLayout; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class MyFrame extends JFrame implements MouseListener{ JButton[] bt; // 버튼선언 JButton bt_randReset; // 리셋버튼 JPanel panel; // 패널선언 RandNumGame rng; // 랜덤숫자게임 선언 public MyFrame() { bt = new JButt..
- 예제 // Parent.java public class Parent { String msg = "I'm Parent msg"; public String getMsg() { return msg; } } // Child.java public class Child extends Parent{ // 상속 받고 재정의 하지 않음. } // Child2.java public class Child2 extends Parent{ String str = "I'm Child2"; public String getMsg(){ // 상속받고 재정의 함. return str; } } // ChildMain.java public class ChildMain { // main메서드에서 호출이 가능한 메서드 정의 public st..
내부 클래스란 특정 클래스 안에 또 다른 클래스가 정의되는 것을 의미한다. # 내부 클래스 장점과 주의사항- 내부 클래스는 외부 클래스의 모든 멤버들을 마치 자신의 멤버처럼 사용할 수 있다. (private로 선언된 멤버도 사용할 수 있다.)- static 내부 클래스를 제외하고는 다른 내부 클래스는 항상 외부 클래스를 통해야 생성할 수 있다. # 내부 클래스가 필요한 이유- 내부클래스는 다중상속의 문제점을 해결하는 하나의 방안이다. 여러개의 인터페이스를 구현해서, 다중상속을 구현하지만, 여전히 하나의 추상클래스 밖에 상속하지 못하기 때문에 제한이 있다. 이를 해결하는 것이 내부클래스로, 특정 클래스를 내부클래스가 상속하게 하여 보다쉽게 다중상속의 기능을 제공하게 된다.- 이벤트 중심 시스템(Event ..
# supersuper라는 참조변수는 현재 객체의 바로 위의 super 클래스(부모 클래스)를 참조할 수 있는 것이다. 이러한 것이 필요한 이유는 sub 클래스(자식 클래스)에서 메서드 오버라이딩을 할 경우 super 클래스(부모 클래스)의 메서드는 '멤버 은폐'가 되는데, 이처럼 은폐된 것을 sub 클래스(자식 클래스)에서 호출하고자 할 때 또는 super 클래스(부모 클래스) 자체를 참조하고자 할 때 사용하는 것이 바로 super라는 예약어다. # super()super 클래스(부모 클래스)의 생성자.
오버라이딩은 '메서드 재정의' 라고도 불리며 이는 서로 상속관계로 이루어진 객체간의 관계에서 비롯된다. super 클래스 일부 멤버들은 sub 클래스에서 그 어떠한 제재를 받지 않고 마치 자신의 멤버와 같이 사용할 수 있다. 하지만 super 클래스가 가지는 메서드를 sub 클래스에서 똑같이 새롭게 만들게 되면 더 이상 super 클래스에서 이름이 같은 메서드를 호출할 수 없게 된다. 이를 '오버라이딩', 또는 '멤버 은폐' 라고도 한다. 이렇게 super 클래스의 기능을 더 확장하고 다른 유형의 객체가 되어 여러 가지 일을 지원하는 것이 객체지향 언어의 특징적 개념이라 할 수 있다. # 오버라이딩 규칙- 상속관계이어야 한다.- super 클래스의 메서드보다 sub 클래스의 메서드 접근제한이 동일하거나 ..
상속이란 부모가 보유하고 있는 재산 중 일부를 자식이 물려받는 것을 의미한다. # 클래스 관계의 종류 구분 클래스 관계 [has a] 특정 객체 내에서 다른 객체를 가지고 있는 것을 의미한다. [is a] 특정 객체가 다른 객체에게 자신의 능력을 포함시켜주는 상속 관계를 의미한다. 클래스 관계 중 [is a]에 속하는 것이 상속이며 이런 상속에 대한 장점은 부모(super) 클래스의 일부 기능을 자식(sub) 클래스에서 그 어떠한 제재를 받지 않고 사용할 수 있게 한다는 것이다. # 클래스의 상속자바 클래스의 상속은 단일 상속이다. 자바에서는 각 객체를 명확하게 구별하기 위해서 정확한 상속 구조를 가지는 것이다. - 상속 코드의 구성 class 자식클래스명 extends 부모클래스명{ ....; } 만약..
static 예약어는 메서드나 멤버변수에 정의할 수 있으며 지역변수나 클래스에게는 정의 할 수 없다. (예외 - 내부클래스) # static 메서드, 멤버변수 정의 형식 [접근제한] static [반환형] 메서드명(자료형 인자1, 자료형 인자2, ...){} [접근제한] static [자료형] 변수명; * [접근제한] 과 static 은 자리가 바뀌어도 상관 없다. # static 변수(클래스 변수) static으로 선언되었다면 객체를 생성하지 않고도 사용할 수 있다. 그리고 현재 static 변수를 가지는 클래스를 아무리 많이 생성한다 해도 static 변수는 오직 하나만 만들어진다. 그리고 그것은 모든 객체가 공유하는 변수가 된다. - 사용법: 클래스명.변수 # static 메서드(클래스 메서드) s..
- Total
- Today
- Yesterday
- excel을 json으로
- aws configure
- 자바 소켓
- 크롬 한글 스페이스
- Java
- profile.ps1
- RUBY
- java 소켓
- Windows Terminal
- ajax 예제
- 파일 입출력 예제
- Windows Terminal cmd
- Windows Terminal Color
- java socket
- golang excel2json
- MySQL
- PowerShell ObjectNotFound
- dynamodb console
- 예제
- 자바
- aws dynamodb
- excel2json
- 자바 예제
- 크롬 한글
- 소켓 예제
- excel to json
- 재테크
- SIS
- New-Alias
- 크롬 한글 문제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |