•클래스 특징,은닉성(encapsulation): 멤버 변수를 private 속성으로 숨겨두고, 실제 접근은 getter/setter를 통해 제공.
/
클래스 상속
Student 클래스 정의. 이때 extends 키워드를 사용하면 Human 클래스를 상속. 클래스 특징, 상속(inheritance)는 다른 클래스 (부모 클래스, parent) 클래스의 내용 (변수와 함수)를 모두 상속 받아 새로운 클래스 (자식 클래스, child class)를 생성.
Human 클래스에서 상속된 Student 클래스 사용. 부모 클래스의 모든 내용 (변수, 함수) 사용 가능.자식 클래스는 부모 클래스의 내용 외에 자신의 내용 (변수와
함수) 정의
가능.
학년을 나타내는 정수형 변수 grade를 private
형태로
선언하고, setter/getter 함수 정의.새롭게 추가된 grade
속성을 setter/getter로 사용
가능.자바에서 상수 선언은 final 키워드
사용.
상수 선언은 일반적으로 대문자로 정의.
이경우, GRADE_1
– 6를 상수로
선언하고 외부에서 사용할 수 있도록 public 속성 부여.
클래스에서 선언된 상수를 사용 가능.
Toast 클래스의
경우 표시 시간을 나타내는 LENGHT_LONG, LENGTH_SHORT도 이런
형태로 선언되고 사용.
GetInfoString() 함수를 호출하면 부모 클래스에 있는 함수를 호출하여 정보를 문자열로 리턴. 디버깅 화면의 Variables 탭에서 확인가능. 부모 클래스에 있는 함수를 재정의 가능.
함수 재정의 (override): 부모 클래스에 정의된 함수를 자식 클래스에서 다시 정의. 직접 코드를 입력해도 되지만, 에디터 기능 사용 가능. 함수 정의 부분을 클릭하고 > 오른 쪽 마우스 클릭 > Generate > Override Methods… > 재정의하려는 함수 선택 > OK > 자동 생성. 이 경우, super.을 붙인 함수를 통해 부모 클래스의 함수를 호출해서 바로 리턴. getInfoString()
메소드 오버라이드.
부모의 getInfoString()
함수를
호출하여 name
정보 설정.
스트링에 학년 정보 추가.
자바에서 부모 클래스의 변수나 함수를 사용하기 위해서는 super
키워드
사용.
자바에서 정수를 스트링 (문자열)로 변환은
Integer.toString()
사용.
최종 문자열 정보를 리턴.
마법사가 자동으로 생성한 앱에서 MainActivity
클래스는 Activity
클래스
상속.
앱 화면 (Activity)이 생성될
때 자동으로 호출되는 함수 onCreate()는 부모
클래스에 이미 존재. 이
함수를 재정의하고 있음.
부모의 onCreate()
함수를
호출하고, activity_main.xml로 내용
표시를 설정 (setContentView)하고 있음.