대학교

4/4 Java Class 본문

공대/안드로이드 스튜디오

4/4 Java Class

lv.4 학사 2022. 4. 10. 16:19

Java 언어

- 변수 : byte, short, int, long, float, double, char, boolean ... 

- 클래스 변수 : String

- 연산자 : +,-,*,/ ...

- 제어문 : if else, for, while, ...

- 배열, 함수, 클래스

 

/

 

변수, 함수, 파일 이름 규칙

camelCase, ex: onCreate()
kebab_case, ex: main_activity.xml
PascalCase, ex: ActivityMain class
 
/

클래스 멤버 함수 (메소드, method)

생성자 함수 (constructor)
Setter/getter 함수
일반적인 클래스 멤버 함수
클래스 특징, 다형성 (polymorphism): 동일한 이름의 함수가 다양한 파라미터를 갖는 여러 개의 함수로 사용 가능
함수 선언과 호출 시, 리턴 타입, 이름, 파라미터 개수/순서/타입이 일치해야 함.
접근 제어자 (access modifier): public, private, protected.
클래스 특징, 은닉성 (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)하고 있음.
재정의된 내용 확인.