Java - Access Modifier / Extends
JAVA(자바), Python(파이썬) 기반의
AI 활용 응용 소프트웨어 개발자 양성 과정
찾으시는 정보가 있으시다면
주제별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 인스턴스