Java/기본개념
Java (Class, Interface)
후니코드
2016. 11. 1. 10:56
구성요소 및 개념
클래스 & 인스턴스 & 객체
클래스 구성 요소
- 변수
- 메소드
- 생성자: 특수 메소드
- 반환타입 없음
- 클래스 생성에 있어 초기화 블럭
- 클래스 명과 동일.
- 특화된 개념: getter, setter
- 초기화 블럭
- static
- 프로그램이 실행 되는 시점에 한 번 실행
- (instance)
- 클래스가 생성 될 때 한 번 실행.
- This, super
- 생성자이기도 하고 변수이기도 함.
- This: 생성된 클래스(객체) 자체
- Super: 생성된 클래스(객체)의 부모 클래스
상속
- 오버로드 (Overload)
- 동일 이름의 멤버를 여러개 작성
- 상이한 메소드로 작동
- 오버라이드 (Override)
- 상속에서 동일 이름으로 재작성
- 상위 클래스의 멤버와 동일하게(멤버 명, 매개변수 타입) 사용
- 최종 정의가 최우선 실행.
접근제어자
- Public
- 모든 곳에서 생성 및 상속 가능
- Protected
- (default)
- 동일 패키지 내에서만 생성 및 상속 가능
- Private
- 동일 클래스 내에서만 사용 가능
- 클래스 외부에서 사용, 상속 불가
변경금지자 (final)
- Class : 상속 불가
- 메소드: 재정의 금지
- 변수: 값의 변경 금지
생명주기 고정자
- static: 메인메모리 상주/고정 지정
정의 예약자 abstract
- 실 사용/생성 클래스에서 정의 후 사용을 의무화
인터페이스
- Abstract 메소드
- Final 변수
- 모든 멤버는 public
- Default / static method 개념 추가 @ java v 1.8
내부 클래스
- 클래스 내부에서 별도의 클래스를 정의 할 수 있다.
- 종류
- Instance
- 기본적으로 Static 멤버를 가질 수 없다.
- Static 멤버가 final일 경우는 가질 수 있다.
- Static
- 내부 클래스만 적용 가능
- Local
- 메소드 내부에서 선언/정의
- Anonymous(익명)
- 객체의 선언과 생성을 동시에.
- 생성자 대신 다음을 사용
- 조상클래스 이름()
- 인터페이스 이름()
- 접근
- 일반 멤버와 유사
- Static은 static에만 접근 가능
- Final 로 선언되면, 상수개념임. (상수는 전역/접근자에 따른 접근성)
*** 참고 ***
Interface 와 Abstract Class 의 차이: 인터페이스는 생성자가 없다. |