1강 객체지향 핵심원리
-OOP (Object Oriented Programming)
정적 : 변수 동적 : 메서드
ex) Object = 자동차
변수 = 이름, 속도, 색깔, 제조사, ...
메서드 = 시동켠다(), 가속한다(), 감속한다(), 시동끈다(), ...
클래스는 현실 세계의 객체를 컴퓨터 메모리에 생성할 수 있는 '템플릿'이다.
인스턴스는 컴퓨터 메모리에 존재하는 객체
Object와 Instance를 동일한 용어로 이해하면 편하다.
-상속
extends
상속관계는 논리적으로 is a~관계가 성립되어야 함
다형성 : 하나의 인터페이스를 이용해 서로 다른 구현을 제공함
ex) TV가 바뀌면 다시 메뉴얼을 봐야함.
근데 같은 인터페이스를 사용하면 사용자가 확인 할 필요가 없음.
메서드 오버로딩 : 한 클래스 안에 같은 이름의 메서드를 여러 개 정의하면서, 그 인자의 개수나 유형을 다르게 한 형태
메서드 오버라이딩 : 상속 관계에 있는 하위 클래스가 상위 클래스가 가지고 있는 메서드를 재정의하는 것
재정의된 메서드가 선언된 형태는 상위 클래스에서 선언된 것과 같음
- 추상화
객체들의 공통된 특성을 모아 일반화 한 것.
클래스를 정의하는데 중요한 역할을 함
ex) 비행기, 자동차, 열차, 배를 어떻게 묶을 것인가 ? --- > '운송수단'
-캡슐화
변수와 메서드를 하나의 추상화된 클래스로 묶는 과정
독립적으로 동작하지 않도록 함
- 정보은닉
캡슐화된 변수나 메서드를 선택적으로 공개하거나 숨길 수 있음
숨겨야 하는 정보 : Private 공개하는 정보 : Public
-메시지
객체간 통신하는 방법, 존재하는 위치는 제약이 되지 않음
(2) 클래스의 구조
1) 클래스 구조
클래스 선언부 + 클래스 몸체
클래스 몸체에 들어가는 것 [ 생성자, 변수 선언, 메서드 ]
클래스에 사용되는 Modifier
- 접근 권한 예약어 : public (모든 클래스에서 접근 가능)
- 활용 방법 예약어 : final(자식 클래스를 가질 수 없음) , abstract(객체 생성이 불가능한 추상클래스)
-UML (시각화)
UML 기본 구조
-----4분 50초
'인공지능 > JAVA' 카테고리의 다른 글
인공지능 JAVA (2) (0) | 2021.06.05 |
---|---|
인공지능 JAVA (3) (0) | 2021.06.05 |
인공지능 JAVA (4) (0) | 2021.06.05 |
인공지능 JAVA (5) (0) | 2021.06.05 |
5.6 인공지능 JAVA (0) | 2021.06.05 |