안드로이드 앱 개발에서 자바는 가장 널리 사용되는 프로그래밍 언어 중 하나입니다.
본 강좌에서는 자바의 기본 개념 중 변수와 함수에 대해 자세히 알아보겠습니다.
처음 프로그래밍을 배우는 사람들은 변수와 함수의 기초를 이해하는 것이 필수적이며,
나중에 복잡한 로직을 구현하는 데 큰 도움이 됩니다.
1. 변수(Variables)
변수가 무엇인지 이해하기 위해서는 먼저 컴퓨터 프로그래밍의 기초를 이해해야 합니다.
변수가 간단히 말해 데이터를 저장하는 이름이 붙은 공간입니다. 이를 통해 우리는
데이터를 쉽게 접근하고 조작할 수 있습니다. 자바에서는 다양한 타입의 변수를 사용할 수 있습니다.
1.1 변수의 종류
자바에서 변수를 선언할 때는 변수의 타입(자료형)을 지정해야 합니다.
여기에는 기본 데이터 타입(Primitive data types)과 참조 데이터 타입(Reference data types)이 있습니다.
1.1.1 기본 데이터 타입
- boolean: true 또는 false를 저장. 예:
boolean isActive = true;
- char: 단일 문자. 예:
char grade = 'A';
- int: 정수. 예:
int age = 25;
- double: 배정밀도 실수. 예:
double price = 19.99;
1.1.2 참조 데이터 타입
참조 데이터 타입은 객체를 참조하는 변수입니다. 예를 들어, 클래스의 인스턴스나 배열이
있습니다. 다음은 String
데이터 타입의 예시입니다.
String name = "홍길동";
1.2 변수 선언 및 초기화
변수를 사용하기 위해서는 먼저 선언하고 초기화해야 합니다. 변수를 선언할 때는
타입과 변수 이름을 포함하여 다음과 같이 작성합니다.
int number; // 변수 선언
number = 10; // 변수 초기화
1.3 변수의 범위(Scope)
변수의 범위란 변수가 접근할 수 있는 영역을 말합니다. 자바에서는 변수의 범위가
선언된 위치에 따라 달라지며, 주로 다음과 같은 범위 종류가 있습니다.
- 전역 변수: 클래스 내부에서 선언된 변수는 클래스의 모든 메서드에서 접근 가능합니다.
- 지역 변수: 메서드 내에서 선언된 변수는 해당 메서드 내부에서만 사용 가능합니다.
2. 함수(Methods)
함수는 특정 작업을 수행하는 코드의 집합입니다. 자바에서는 함수는 보통 메서드(Method)라고 불리며,
클래스의 구성 요소로 포함됩니다. 메서드는 호출될 때 특정 작업을 수행하고,
필요에 따라 값을 반환(return)할 수 있습니다.
2.1 메서드 선언
메서드는 다음과 같은 형식으로 선언됩니다.
반환타입 메서드이름(매개변수들) {
// 메서드 내용
}
2.2 메서드의 매개변수와 반환값
메서드는 매개변수를 통해 외부에서 데이터를 전달받을 수 있으며,
반환값을 통해 결과를 반환할 수 있습니다. 예를 들어, 두 개의 정수를 더하는 메서드는 다음과 같습니다.
public int add(int a, int b) {
return a + b;
}
2.3 메서드 오버로딩(Method Overloading)
자바에서는 같은 이름의 메서드를 매개변수의 타입이나 개수를 다르게 하여 여러 개 정의할 수 있습니다.
이를 메서드 오버로딩이라고 합니다. 예를 들어, 아래와 같이 사용할 수 있습니다.
public int multiply(int a, int b) {
return a * b;
}
public double multiply(double a, double b) {
return a * b;
}
3. 예제: 안드로이드 앱에서 변수와 함수 사용하기
이제 안드로이드 앱에서 변수를 선언하고 메서드를 활용하는 방법에 대한
간단한 예제를 작성해보겠습니다. 아래는 사용자로부터 두 숫자를 입력받아
더한 값을 표시하는 앱의 간단한 코드입니다.
3.1 MainActivity.java
package com.example.myapp;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private EditText number1;
private EditText number2;
private TextView result;
private Button addButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
number1 = findViewById(R.id.editTextNumber1);
number2 = findViewById(R.id.editTextNumber2);
result = findViewById(R.id.textViewResult);
addButton = findViewById(R.id.buttonAdd);
addButton.setOnClickListener(v -> {
int num1 = Integer.parseInt(number1.getText().toString());
int num2 = Integer.parseInt(number2.getText().toString());
int sum = add(num1, num2);
result.setText("결과: " + sum);
});
}
private int add(int a, int b) {
return a + b;
}
}
3.2 activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/editTextNumber1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="첫 번째 숫자"
android:inputType="number" />
<EditText
android:id="@+id/editTextNumber2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="두 번째 숫자"
android:inputType="number" />
<Button
android:id="@+id/buttonAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="더하기" />
<TextView
android:id="@+id/textViewResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="결과: " />
</LinearLayout>
4. 정리
본 강좌에서는 자바의 변수와 함수에 대해 자세히 알아보았습니다.
변수를 통해 데이터를 저장하고, 함수를 이용해 특정 작업을 수행하며,
코드를 모듈화하는 방법을 배웠습니다. 이러한 기초 지식은 훗날 복잡한 앱을 개발하는 데
큰 도움이 될 것입니다. 여러분의 안드로이드 앱 개발 여정에 이 강좌가 도움이 되기를 바랍니다.