1. 배열

  • 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라고 한다. 많은 양의 데이터를 저장하고 이를 다루기 위해 사용한다.
  • 여기서 중요한 것은 같은 타입이어야 한다는 것이며 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없다.

1) 배열 선언

자료형[] 변수 = {데이터1, 데이터2, 데이터3.....};

 

ex)

int[]  myArray = {1, 33, 4, 12, 89, 98};

String[] names = {"James", "Anthony", "Rodrigo", "Nirai"};

 

2) 배열 출력

System.out.println(변수명[인덱스 번호]);

 

** 인덱스 번호는 맨 첫번째자리부터 0으로 시작해 순차적으로 매겨진다.

 

ex)

 System.out.println(myArray[2]);
 
 System.out.println(names[3]);
  
  ------------------------------------------------
  4
  Nirai

 

2. 실습예제

Exercise) 3개의 클래스를 생성해 직원관리 프로그램을 만드세요

 

Solution)

Employee.java

package com.example.learnjava;

public class Employee {
    private String firstName;
    private String lastName;
    private int idNumber;
    private String department;
    private String position;
    private double monthlySalary;


    public Employee(String firstName, String lastName, int idNumber, String department, String position, double monthlySalary) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.idNumber = idNumber;
        this.department = department;
        this.position = position;
        this.monthlySalary = monthlySalary;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public int getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(int idNumber) {
        this.idNumber = idNumber;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public double getMonthlySalary() {
        return monthlySalary;
    }

    public void setMonthlySalary(double monthlySalary) {
        this.monthlySalary = monthlySalary;
    }
}
  • 먼저 사원들의 정보가 들어갈 필드를 생성해줍니다.
  • 그 다음 생성자를 만들어 각 필드의 값들을 초기화 시킵니다.
  • private으로 접근제한을 설정하였기 때문에 다른클래스에서 수정을 위해 getter/setter를 추가합니다.

 

Employer.java

package com.example.learnjava;

public class Employer {

    private String name;
    private String location;

    public Employer(String name, String location) {
        this.name = name;
        this.location = location;
    }

    public Employer() {
    }

    public void employeeDetails(Employee employee) {
        System.out.println("ID: " + employee.getIdNumber() + " Name: " + employee.getFirstName() +
                " " + employee.getLastName() + " Department: " + employee.getDepartment() +
                " Position: " + employee.getPosition() + " Monthly Salary: " + employee.getMonthlySalary());

	}
    
    public void calculateAnnualBonus(Employee employee) {
        double annualBonus = (employee.getMonthlySalary() * 0.15) * 11;
        System.out.println("Annual bonus for " + employee.getFirstName() +
                " is " + annualBonus);
    }
}
  • 고용주(사장)의 정보가 들어갈 필드를 생성해줍니다.
  • Employer의 빈 생성자를 만듭니다.
  • 사원들의 정보를 출력하기 위한 메소드인 employeeDetails 메소드를 만듭니다.
  • 사원들의 연간보너스를 출력하기 위한 calculateAnnualBonus 메소드를 만듭니다.

 

MyClass.java

package com.example.learnjava;

public class MyClass {
    public static void main(String[] args) {

        Employer bank = new Employer();

        Employee Jenna = new Employee("Jenna", "Lassoft", 324587, "HR",
                "Recruiter", 4500.89);

        Employee Lance = new Employee("Lance", "K.", 3245377, "IT",
                "IT/Support", 3800.59);

        bank.calculateAnnualBonus(Jenna);
        bank.calculateAnnualBonus(Lance);
        bank.employeeDetails(Lance);

    }
}
  • bank 객체를 Employer 클래스를 이용해 만듭니다.
  • Employee 클래스에서 Jenna, Lance 객체를 만들어 정보들을 삽입합니다.
  • bank.메소드명으로 원하는 메소드를 불러와 정보를 출력합니다.

 

3. 키 값

  • 자바에서 키 값을 사용할때에는 HashMap이라는 함수를 이용한다.
  • HashMap은 Map 인터페이스를 구현한 함수다. Collection Framework에 속해있다.
  • 키(key)와 값(Value)으로 구성된 객체를 저장한다. 키는 중복을 허용하지 않으며 값은 중복 저장이 가능하다. 같은 키가 새롭게 저장되면 이전에 있던 키-값은 사라진다. 

HashMap 사용방법은 다음과 같다.

 

HashMap<데이터 타입> 참조변수명 = new HashMap<>();

put(key, value)

 

ex)

package com.example.learnjava;


import java.util.HashMap;

public class JavaHashMaps {
    public static void main(String[] args) {
        HashMap<String, Integer>gameStats = new HashMap<>();
        gameStats.put("James", 100);
        gameStats.put("Ruth", 457);
        gameStats.put("Carolina", 679);

'Java Study' 카테고리의 다른 글

Java Study(캡슐화)  (0) 2023.04.19
Java Study(상속/오버라이딩)  (0) 2023.03.31
Java Study(생성자/접근제한자)  (0) 2023.03.30
Java(class/object)  (0) 2023.03.29
Java (method/메소드)  (0) 2023.03.28

+ Recent posts