티스토리 뷰

추상클래스와 추상메서드

 

what 추상메서드는 클래스내에 메서드가 존재하지만 내용이 비어있는 것을 의미합니다. 이 추상메서드가 클래스내에 존재하면 클래스 또한 추상클래스가 되고, 관련 키워드를 클래스명 앞에 적어줘야 합니다. 이때 추상메서드의 비어있는 내용은 상속받은 자식 클래스가 반드시 오버라이딩을 통해 작성을 해야하는 강제성을 가집니다.

 

why 자식클래스에서 추상메서드를 반드시 구현하도록 강요하기 위해서 사용을 합니다.

 

how 추상클래스와 추상메서드를 사용할려면 앞에 반드시 abstract를 작성해줍니다. abstract를 받은 자식 클래스는 거기에 맞는 내용을 채워 넣어야 하므로 양식에 맞게끔 작성이 강제되므로 문법에 제한을 받습니다.

 


 

인터페이스

 

what클래스를 설계도라 비유하면 인터페이스는 목록에 써놓은 종이(양식)로 비유할 수 있습니다.

프로젝트를 하는 상호간의 양식에 맞게 사용을 하자는 의미로 사용됩니다.

 

why 프로젝트 할 때 양식에 맞게 목록을 작성 해놓으면 사용자들이 서로의 일의 진행도에 상관없이 인터페이슬르 사용하는 모두가 각자 속도에 맞게 진행이 가능해지기 때문입니다.

 

how interface를 클래스명 앞에 작성을 해주고, 변수에는 제어자인 public과 상수인 final을 붙여주고 메서드 앞에서는 public와 양식을 의미하는 abstract를 적어줍니다. 또한, 인터페이스에서는 상속을 받다라는 의미로 쓰였던 extends 대신에 implements를 사용하며 이때는 상속이 아닌 구현의 의미로 사용됩니다.

*제어자인 public과 final은 적지않아도 컴파일러에서 자동으로 등록을 해주긴하지만 쓰는 것을 습관을 들여놓는 것이 좋다. final 상수를 쓰기 때문에 다중상속도 가능하다.


 

내부클래스

 

what 내부 클래스는 말그대로 클래스 내부에 선언된 클래스를 뜻합니다.

 

why 서로 긴밀한 관계를 가지고 있는 클래스를 뜻하는데, 내부에 다른 클래스를 선언함으로써 내부에는 쉽게 접근이 가능토록하고, 외부에서는 이중으로 클래스가 되어 있기 때문에 해당 클래스에 대한 불필요한 접근을 막음으로써 코드의 보안의 안정성을 높이고 복잡성을 줄일 수가 있습니다.

 

how 내부 클래스의 종류에는 인스턴스 클래스, 스태틱 클래스, 지역클래스, 익명 클래스가 존재합니다. 여기서 스태틱 클래스는 외부 클래스의 인스턴스 멤버를 객체 생성없이 사용을 할 수가 없습니다. 지역 클래스는 클래스의 내부에 있는 클래스, 인스턴스와 변수와 달리 메서드안에서 지역 변수처럼 존재하는 클래스입니다.따라서 메서드 안에서만 객체 생성 및 메서드 호출이 가능하기 때문에 외부 클래스에서 사용할려면 외부클래스를 먼저 생성한 뒤에 지역클래스가 있는 메서드를 호출하면 동작을 할 수가 있습니다.


 

익명클래스

 

what 다른 내부 클래스와는 달리 이름이 없는 것을 말합니다. 클래스의 선언과 객체 생성을 동시에 하기 때문에 일회성을 가지는 동시에 하나의 객체만을 생성할 수 있는 일회용 클래스입니다.

 

why 일회성을 가진 객체이기 때문에 재사용성이 없다는 것을 뜻하고, 반대로는 일시적으로 한번만 사용하여야 하는 객체일 때 사용을 합니다.

 

how new를 통한 객체생성할 때 괄호옆에 중괄호를 추가해서 안에 재정의할 내용을 수정하면 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

'정리 노트' 카테고리의 다른 글

7주차-5일  (0) 2023.11.25
7주차-4  (0) 2023.11.23
chapter  (0) 2023.10.24
상속과 다형성  (0) 2023.10.23
제어문  (0) 2023.10.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
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
글 보관함