본문 바로가기
인공지능/JAVA

sw 아카데미 자바초급(2)

by bibibig_data 2021. 6. 5.

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