// Class는 현실의 객체를 프로그램에서 사용할 수 있도록 해 준 "template"이면서 Java 운영 프로그램을 구성하는 가장 "기본적인 요소"
// Instance는 Class로부터 생성된 "메모리 상의 객체"
//상속
상속은 코드를 간결하게 하여 코드의 재사용성을 높이는 객체지향의 핵심 개념!
상위 계층으로 갈수록 (시내버스 -> 버스 -> 자동차) 일반화, 보편화
하위 계층으로 갈수록 (자동차 -> 버스 -> 시내버스) 특수화, 개별화
문법적으로 강제되는 것이 아니라 논리적으로 판단되어야 한다.
//다형성(Polymorphism)
one interface, multiple implementation
하나의 인터페이스를 이용해 서로 다른 구현을 제공함
ex) 서로 다르게 조작되는 TV를 하나의 리모컨(인터페이스)로 조작
메서드 오버로딩(Method Overloading), 메서드 오버라이딩(Method Overriding) -> 중요 개념 나중에 추가 설명
//추상화(Abstraction)
공통된 특성들을 모아 일반화 하는 것 ==> 클래스를 정의하는데 중요 역할
//캡슐화(Encapsulation)
'변수'와 변수를 처리하는 '메서드'를 하나로 묶어서 각각이 독립적이지 않고 동시에 동작하도록 한다.
캡슐화할 때 공개 비공개 나누어 정보 은닉이 가능해진다.
//메세지(Message)
객체 간에 서로 통신하는 방법
//
전역(Global) 변수(멤버 변수) : "클래스" 선언부 밑에서 선언
vs 지역(local) 변수 : "메서드" 선언부 밑에서 선언
//getter setter
정보 은닉에서 private 변수에 저장된 값을 리턴할 때 getter, 저장할 때 setter
// 기본형 변수 vs 참조형 변수
// 가변적 매개변수는 매서드 선언부 매개변수 리스트 마지막 위치에 딱 한번 사용 가능
// 인스턴스 변수 vs 클래스 변수(static ~)
'Java' 카테고리의 다른 글
[JAVA] 인터페이스 (0) | 2021.10.07 |
---|---|
[JAVA] 추상 클래스, 객체 형변환 (0) | 2021.10.07 |
[JAVA] 매개변수 - 기본형|값복사, 참조형|주소복사 (0) | 2021.10.05 |
[Java] this, super (0) | 2021.10.05 |
[JAVA] 생활코딩 강의 시작 (0) | 2021.09.25 |
댓글