본문 바로가기
  • Build Up Routine
Basic/멀티캠퍼스__AI플랫폼을 활용한 웹서비스 개발

멀티캠퍼스 AI플랫폼을 활용한 웹서비스 개발 - 10일차

by 까느.dev 2022. 4. 18.

📢day10__JAVA - OOP2

객체 지향 프로그래밍(Object Oriented Programming)

객체간의 관계

  • 객체 지향 프로그램에서는 객체는 다른 객체와 관계를 맺음.
  • 관계의 종류
    • 집합 관계 : 완성품 - 부품
    • 사용 관계 : 완성품 - 사용자
    • 상속 관계 : (하위) 완성품 - (상위) 종류 -> 상위 클래스 - 하위 클래스 관계. -> 상위 클래스의 기능을 하위 클래스에서 사용가능.

캡슐화

  • 객체의 필드, 메소드를 하나로 묶고, 실제로 구현 내용을 감추는 것

상속

  • 상위(부모) 객체의 필드와 메소드를 하위(자식) 객체에게 물려주는 행귀.
  • 하위객체는 상위 객체를 확장해서 추가적인 필드와 메소드를 가질 수 있음.

다향성

  • 같은 타입이지만 실행 결과가 다양한 객체를 대입할 수 있는 성질
    • 부모 타입에는 모든 자식 객체가 대입
    • 인터페이스 타입에는 모든 구현 객체가 대입
  • 객체를 부품화시키는 것 가능.(ex. 자동차 타이어 중 스노우,4계절,경주용 등 타이어 교체가 가능!)
  • 유지보수가 용이해짐.

객체와 클래스

  1. UML을 이용하여 설계(클래스)를 만든다.
  2. 클래스를 통해 객체를 생성한다.
  • **클래스에서는 필드 없이 매소드로만 기능만 있는 클래스도 구성이 가능하다.**

클래스 선언

  1. 하나 이상의 문자로 이루어져야 한다.
  2. 첫 번째 글자는 숫자가 올 수 없다.
  3. '$', '_' 외의 특수 문자는 사용할 수 없다.
  4. 자바 키워드는 사용할수 없다.(int, for ......)

클래스의 구성 멤버

  1. 필드
    • 객체의 데이터가 저장되는 곳.
  2. 생성자
    • 객체 생성시 초기화 역할 담당.
  3. 메소드
    • 객체의 동작에 해당하는 실행 블록.

생성자(Constructor)

  • 생성자는 new 연산자와 같이 사용되어 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당한다.
    • 객체 초기화란 필드를 초기화하거나, 메소드를 호출해서 객체를 사용할 준비를 하는것.

(1)생성자 오버로딩

  • 생성자 오버로딩이란 매개 변수를 달리하는 생성자를 여러 개 선언하는 것을 말한다.
  • 매소드에서도 오버로딩이 가능하다.

(2) this란?

  • `this.name = name` 형태와 같이 쓰이는데 `this.`가 붙으면 `.` 이하는 해당 이름의 주소를 말한다.

정적 멤버와 static

접근 제한자

접근 제한자적용 대상설명

public 클래스,필드,생성자,메소드 모든 외부 클래스(외부 패키지에서도 사용 가능)
protected 필드,생성자,메소드 같은 패키지 내에 있는 클래스, 다른 패키지에 속한 클래스가 해당 클래스의 자식 클래스라면 필드와 메소드를 사용 할 수 있다.
default 클래스,필드,생성자,메소드 같은 패키지 내에 있는 클래스. (외부 패키지에서는 접근 불가)
private 필드,생성자,메소드 없음.(오로지 클래스 내부에서만 사용 가능.)

상속(inheritance)

overriding

  • 상위에서 정의한 함수를 그대로 사용이 가능하다.
  • 상위에서 정의한 함수를 가져와서 수정하여 사용가능하다.
  • 상속관계에 있을 때는 상위에 있는 내용을 그대로 담을수 있다.

댓글