상속(extends)
-상속관계란 객체 지향 언어로 부모 클래스가 가진 속성과 기능을 받고 자식 클래스가 만든 속성과 기능을 포함하지 않아도 그 기능을 하용 가능하다.
-장점: 검증된 클래스를 이용하여 편리하게 사용 가능함
-생성 순서 : 상속 받은 최상위 순서부터 생성 된다
EX) A > B > C
-부모 클래스에 private이 포한 되어 있으면? : private접근자의 속성과 메서드를 사용할 수 없다
tip! 다이어그램을 그릴때 '상속'은 '실선'으로 나타낸다
@OVERRIDE :메소드 재정의
*부모클래스의 기능을 자식 클래스에서 재정의해서 사용한다.
-부모 클래스의 코드를 자식클래서에서 재정의 했으면 출력할때는 재정의된 자식클래스의 코드만 출력
클래스도 자료형이 된다.(데이터 타입)
부모 클래스를 자기클래스 a,b가 상속을 받으면
부모클래스, 자식a클래스 , 부모 클래스, 자식b클래스 가 나온다.
<object / 모든 클래스의 상위 클래스>
-예를 들어 extends를 b클래스에서 a클래스를 상속했지만 가장 상위에 있는 클래스는 object클래스이다.
<supper /상위 클래스를 호출할 때>
this : 현재 내가 있는 클래스
super: 상위 클래스
<anonymouse class : 이름 없이 객체만 생성>
//익명 클래스
new Anonymous() {
}
주로 인터페이스나 추상클래스에서 이용
이름없는 클래스로 주로 메서드를 재정의 하는 목적으로 사용
**< 인터페이스>
클래스와 달리 객체 생성을 할 수 없음
-구현해야하는 작업 명세서
-class에서 interface가 가지고 있는 추상적인 것을 만들어 줌
인터페이스를 사용하는 이유 : 가장 큰 이유는 객체가 다양할 자료형(타입을 가질 수 있다.)
-implements 키워드를 사용하여 인터페이스를 사용
-인터페이스에 선언만 되어 있는 함수를 클래스가 구현한다.
<추상 클래스>
구체화 되지 않은 멤버를 이용해서 클래스를 만드는 방법
클래스의 공통된 부분을 뽑아서 별도의 클래스를 만들고 이것을 사용한다.
<back클래스 >
해당 클래스에서 알아서 사용한다.
람다식:
람다식:기본적으로 함수를 만들어서 사용
-함수 지향으로 프로그래밍 방법
인터페이스에서 선언된 메소드만 가져다가 사용
<String 객체, 메모리>
-객체는 데이터가 많아 데이터 변화면 메모리 상의 변화가 많아 속도가 느리다
-문자열을 복사하여 새롭게 데이터를 만듦
-String buffer, StringBuilder
(=new StringBuffer("java"))
(sh.sppend("_8"))
문자열이 변경되면 기존의 객체를 사용
-속도는 String Builder가 조금더 빠름
데이터 안정성은 String Buffer가 조금 더 좋음
(메모리가 안정적이기 때문에)
Collections
데이터를 효율적으로 관리하기 위함
'JAVA' 카테고리의 다른 글
JAVA 기초 문법 4-3(feat. 네트워킹 /소켓) (1) | 2021.04.11 |
---|---|
JAVA 기초 문법 4-2 (feat.입출력 기본 클래스 ) (0) | 2021.04.11 |
자바 문법 기초 4-1 (feat. 예외처리) (0) | 2021.04.11 |
<Java> 기초 문법 공부 2 (0) | 2021.03.28 |
<Java> 기초 문법 공부 1 (0) | 2021.03.28 |