클래스
속성과 기능으로 구성되어 있다.
캡슐화
class의 member field에 private modifier를 선언해
외부 클래스에서 해당 클래스를 instance화 시켜도 외부클래스에서 해당 클래스에 바로 접근하지 못하도록 만들어 보완성을 높이는 것을 캡슐화라 한다.
접근을 위해 getter/setter 메서드를 통해 인스턴스의 필드에 접근하여 값을 얻어내거나 값을 변경할 수 있다.
오버라이드 (메소드 변경)
super클래스로 부터 상속받은 메서드를 자식 클래스에서 해당 메서드의 내용을 변경하는 것을 의미한다.
상속(extends)
super클래스로의 필드와 기능을 자식 클래스가 물려받아 확장시킬수 있음을 의미한다.
다형성
메서드에서의 다형성(overloading)
같은 이름의 메서드를 선언할 수 있다.
단 매개변수의 타입이나 갯수 순서가 다를 경우 가능하다.
클래스에서의 다형성(overloading)
super클래스로 선언하고 자식 클래스로 인스턴스화 시키면 해당 클래스는 조상 클래스로부터 상속받은 다른 자식 클래스로 변할수 있음을 의미한다.
ex) List<> list = new Arraylist<>(); => list = new LinkedList<>();
인터페이스
상수와 추상메서드로 구성됨
사용시 구현해야 함 (implements)
초기 설계시 사용된다.
'Language > JAVA' 카테고리의 다른 글
[JAVA]열거형 (enums) (0) | 2022.12.01 |
---|---|
[JAVA] 지네릭스(Generics) (0) | 2022.11.28 |
char 자료형에 '' (빈문자)로 초기화 할 수 없는 이유 (0) | 2022.10.31 |
Integer.toString() vs String.valueOf() (0) | 2022.10.31 |
Casting (0) | 2022.10.31 |