/ LECTURE

Java - Access Modifier / Extends

이 페이지는 다음에 대한 공부 기록입니다

JAVA(자바), Python(파이썬) 기반의

AI 활용 응용 소프트웨어 개발자 양성 과정

2021.11.10. ~ 2022.05.18.

찾으시는 정보가 있으시다면
주제별reference를 이용하시거나
우측 상단에 있는 검색기능을 이용해주세요

19일차 수업

========복습========

작명 규칙

camel : 단어와 단어 사이를 대문자로 구분

snake : 단어와 단어 사이를 _ 로 구분

class는 대문자로 시작

variable, method 소문자로 시작 : 다른 사람들이 보고 파악할 수 있도록 작성해 주는 것이 좋음

프로젝트 팀원이나 회사 규칙에 맞춰서 작성하면 됨

overloading

method, parameter 조건 충족하면 가능

method의 이름과, parameter(순서 개수 자료형)이 동일해야하고 리턴값과는 무관

package

클래스를 묶은 집합, 폴더

기능적으로 비슷하거나 사용이 용이하도록 파일을 관리, 이름 충돌문제 해결

구분자는 dot(.)

import

import를 통해서 패키지 안에 있는 클래스를 현재 클래스에서 사용할 수 있도록 권한 부여

  • import 패키지명.클래스명

  • import 시 이름이 겹치면 클래스명에 직접적으로 패키지를 작성합니다

======== 끝 ========

19일차 수업

정보은닉

사용자가 굳이 알 필요없는 정보는 숨기고, 최소한의 정보로만 프로그래밍을 할 수 있어야 한다

접근제어자 : access modifier

맨 앞에 선언, 1개만 가능하고 생략 시엔 default로

private(class) < protected(subclass) < default(package) < public(all)

  • private

    같은 클래스 안에서 사용가능

    private를 작성한 클래스 내에서 해결을 해야함

  • protected

  • default

    기본값

    같은 패키지 안에서 사용가능

  • public

    클래스의 접근제어자 중에 최대 허용 범위를 가진 접근제어자

    default 와 헷갈리지 않게 주의

private 변수 접근하기

외부에서 입력해주고 출력해주는 메소드를 만들어야함

마우스 우클릭 » Source » generate Getters and Setters 하면 편하게 만들 수 있음

명명규칙 : get변수명()

//외부로 반환하는 메소드
public int getAbc() {
    return abc;
}

//	내부로 저장하는 메소드
public void setAbc(int abc) {
    this.abc = abc;
}

상속

매우 중요!! 313p 참조 객체지향 프로그래밍 필수

새로운 클래스로 재정의

상속을 이용하면 기존의 정의된 클래스(부모)의 모든 필드와 메소드를 물려받아

새로운 클래스(자식)의 재정의 및 추가 생성 가능

기존의 정의된 클래스 : 부모 , 상위, 기초 클래스

상속받은 클래스 : 자식, 하위, 파생 클래스

extends

상속을 진행하는 키워드

class 자식 클래스명 extends 부모 클래스명 {—}

접근제어자가 private, default 로 선언된 변수는 사용 불가능

  • public 혹은 protected

자식 클래스의 인스턴스가 생성될 때

  • 상위클래스의 생성자가 먼저 호출되고, 하위 클래스의 생성자를 호출한다

  • 필드와 파라미터가 중복될 때 this를 사용했던 것처럼, 상위클래스의 필드는 super.로 구분한다

    • static과 별개로 생각해서 사용

classArray

클래스를 이용한 배열

Car[] arr = new Car[5];

클래스의 형태(인스턴스)를 5칸가진배열

Car[0] : 배열 한 칸에 들어있는 Car 인스턴스