내부 클래스란 특정 클래스 안에 또 다른 클래스가 정의되는 것을 의미한다. # 내부 클래스 장점과 주의사항- 내부 클래스는 외부 클래스의 모든 멤버들을 마치 자신의 멤버처럼 사용할 수 있다. (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..
생성자라는 것은 메모리 내에 객체가 생성될 때 자동적으로 단 한번 호출되어 객체의 구조를 인식하게 하고 생성되는 객체의 멤버변수들을 초기화하는 데 목적을 둔 것을 말한다. # 생성자의 두가지 특징- Return Type이 전혀 정의되지 않는다.- 생성자명이 클래스명과 같아야 한다. # 생성자의 구성 [접근제한][생성자명](자료형 인자1, 자료형 인자2, ...){ 수행문1; 수행문2; ...;} # 생성자의 필요성멤버들의 초기화 작업과 같이 반드시 또는 단 한번만 수행해야 하는 행위 등을 생성자에 정의하기 위해 필요하다. 그리고 객체를 생성할 수 있는 방법을 좀더 많이 제공하여 생성력의 폭을 넓힌다. # 생성자 접근제한의 의미클래스의 접근제한이 public으로 정의되었다고 해도 클래스를 생성하는 생성자를..
- Total
- Today
- Yesterday
- aws configure
- excel을 json으로
- Windows Terminal
- java socket
- 크롬 한글 문제
- 소켓 예제
- 예제
- 크롬 한글
- MySQL
- Windows Terminal Color
- Java
- dynamodb console
- excel to json
- aws dynamodb
- java 소켓
- 자바
- 자바 소켓
- ajax 예제
- 크롬 한글 스페이스
- 재테크
- excel2json
- profile.ps1
- RUBY
- Windows Terminal cmd
- 자바 예제
- 파일 입출력 예제
- New-Alias
- PowerShell ObjectNotFound
- golang excel2json
- SIS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |