📢day10__JAVA - OOP2
객체 지향 프로그래밍(Object Oriented Programming)
객체간의 관계
- 객체 지향 프로그램에서는 객체는 다른 객체와 관계를 맺음.
- 관계의 종류
- 집합 관계 : 완성품 - 부품
- 사용 관계 : 완성품 - 사용자
- 상속 관계 : (하위) 완성품 - (상위) 종류 -> 상위 클래스 - 하위 클래스 관계. -> 상위 클래스의 기능을 하위 클래스에서 사용가능.
캡슐화
- 객체의 필드, 메소드를 하나로 묶고, 실제로 구현 내용을 감추는 것
상속
- 상위(부모) 객체의 필드와 메소드를 하위(자식) 객체에게 물려주는 행귀.
- 하위객체는 상위 객체를 확장해서 추가적인 필드와 메소드를 가질 수 있음.
다향성
- 같은 타입이지만 실행 결과가 다양한 객체를 대입할 수 있는 성질
- 부모 타입에는 모든 자식 객체가 대입
- 인터페이스 타입에는 모든 구현 객체가 대입
- 객체를 부품화시키는 것 가능.(ex. 자동차 타이어 중 스노우,4계절,경주용 등 타이어 교체가 가능!)
- 유지보수가 용이해짐.
객체와 클래스
- UML을 이용하여 설계(클래스)를 만든다.
- 클래스를 통해 객체를 생성한다.
- **클래스에서는 필드 없이 매소드로만 기능만 있는 클래스도 구성이 가능하다.**
클래스 선언
- 하나 이상의 문자로 이루어져야 한다.
- 첫 번째 글자는 숫자가 올 수 없다.
- '$', '_' 외의 특수 문자는 사용할 수 없다.
- 자바 키워드는 사용할수 없다.(int, for ......)
클래스의 구성 멤버
- 필드
- 객체의 데이터가 저장되는 곳.
- 생성자
- 객체 생성시 초기화 역할 담당.
- 메소드
- 객체의 동작에 해당하는 실행 블록.
생성자(Constructor)
- 생성자는 new 연산자와 같이 사용되어 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당한다.
- 객체 초기화란 필드를 초기화하거나, 메소드를 호출해서 객체를 사용할 준비를 하는것.
(1)생성자 오버로딩
- 생성자 오버로딩이란 매개 변수를 달리하는 생성자를 여러 개 선언하는 것을 말한다.
- 매소드에서도 오버로딩이 가능하다.
(2) this란?
- `this.name = name` 형태와 같이 쓰이는데 `this.`가 붙으면 `.` 이하는 해당 이름의 주소를 말한다.
정적 멤버와 static
접근 제한자
접근 제한자적용 대상설명
public | 클래스,필드,생성자,메소드 | 모든 외부 클래스(외부 패키지에서도 사용 가능) |
protected | 필드,생성자,메소드 | 같은 패키지 내에 있는 클래스, 다른 패키지에 속한 클래스가 해당 클래스의 자식 클래스라면 필드와 메소드를 사용 할 수 있다. |
default | 클래스,필드,생성자,메소드 | 같은 패키지 내에 있는 클래스. (외부 패키지에서는 접근 불가) |
private | 필드,생성자,메소드 | 없음.(오로지 클래스 내부에서만 사용 가능.) |
상속(inheritance)
overriding
- 상위에서 정의한 함수를 그대로 사용이 가능하다.
- 상위에서 정의한 함수를 가져와서 수정하여 사용가능하다.
- 상속관계에 있을 때는 상위에 있는 내용을 그대로 담을수 있다.
'Basic > 멀티캠퍼스__AI플랫폼을 활용한 웹서비스 개발' 카테고리의 다른 글
멀티캠퍼스 AI플랫폼을 활용한 웹서비스 개발 - 12일차 (0) | 2022.04.25 |
---|---|
멀티캠퍼스 AI플랫폼을 활용한 웹서비스 개발 - 11일차 (0) | 2022.04.25 |
멀티캠퍼스 AI플랫폼을 활용한 웹서비스 개발 - 9일차 (0) | 2022.04.18 |
멀티캠퍼스 AI플랫폼을 활용한 웹서비스 개발 - 8일차 (0) | 2022.04.15 |
멀티캠퍼스 AI플랫폼을 활용한 웹서비스 개발 - 7일차 (0) | 2022.04.12 |
댓글