KeyWords : 상속
🌵 복습
🍄 Class
- 객체를 생성하기 위한 틀, 설계도
- 연관성 있는 값과 기능을 한곳에 모아 관리하는것
- 사용자 정의 타입
🐚 클래스의 선언
class 클래스명(){
필드
메소드
}
🍄 객체
- 세상에 존재하는 모든 것들이 객체
- 객체끼리 공통성을 갖고 있음
- 비슷한 기능을 갖고 있는 것들끼리 분류를 해서 일관성을 찾아내는것
모든 객체는 상태나 행동을 갖고있음
ex) 고양이 객체의 상태 : 귀, 꼬리
고양이의 행동 : 쥐 사냥
객체의 상태 : Field
객체의 행동 : Method
🍄 클래스와 객체의 연관성
- 클래스는 추상적이고 객체를 생성하기 위한 틀일 뿐
- 설계도를 기반으로 무언가를 만드는 것 : 객체화
추상적인 개념 --> 구체화
ex) MyClass my = new MyClass()
MyClass 타입의 my라는 변수에 MyClass 클래스의 객체의 주조값을 저장
🐚 멤버의 사용
객체명.필드명
객체명.메소드명
🐚 생성자
클래스명 뒤에 소괄호가 있는 형태
생성자의 역할 : 필드를 초기화함
🍄 변수
- 선언 위치에 따라 구분
- 지역변수 (local variable)
: 메소드 또는 그 안(제어문 영역)에서 선언된 변수
- 전역변수 (global variable)
: 클래스 중괄호 영역에서 선언된 변수
- 매개변수 (paramete)
: 메소드 소괄호 안에서 선언된 변수
- 객체화 여부에 따라 구분
- 인스턴스 변수 (instance variable)
: Field, 객체간 공유되지 않음
객체화 이후에 사용 가능
- 클래스 변수 (static variable, class variable)
: 객체간 공유 가능
객체화 하지 않아도 사용 가능
🍄 필드의 초기화
- 명시적 초기화
- 생성자를 이용한 초기화
- 초기화 블록을 이용한 초기화
🌵 상속
클래스에서 클래스로 상속시 멤버(필드, 메소드)를 물려주는 것
- 기존 클래스의 멤버를 새로운 클래스에서 사용하고자 할때 재사용 용도로 사용
- 여러 클래스에서 멤버가 중복되는 경우, 부모 클래스를 먼저 선언하고 중복 멤버를 묶어서 자식 클래스에게 상속(그룹화)
상속 문법
class classA{
}
class classB extends classA{
}
classA : 상위 클래스 (super class)
classB : 하위 클래스 (sub class)