본문 바로가기

전체 글112

[JAVA] 객체와 클래스 - 객체를 배열로 관리하기 학생을 모델링하여 만든 학생 클래스로 여러 학생 객체를 생성하고 정보를 저장할 수 있습니다. 그런데 이렇게 생성된 학생 객체를 다음과 같이 각각의 변수에 저장하면 관리하기도 어렵고 데이터를 조회하는 것도 번거로워집니다. Student stu1 = new Student("홍길동1", 10, "서울1"); Student stu2 = new Student("홍길동2", 10, "서울2"); ... 그래서 필요한 것이 배열입니다. 객체를 배열로 관리하면 다량의 데이터를 효율적으로 관리할 수 있게 됩니다. 기본형 데이터를 배열로 관리하는 것에 비해 처음 이해가 어려울 수 있지만, 매우 중요한 개념이므로 잘 정리해 놓는 것이 좋습니다. 학생 클래스를 만들고 이를 이용해 학생 객체를 생성한 후 배열로 저장하는 프로그.. 2022. 5. 23.
[JAVA] 객체와 클래스 - 정보 은닉화, 캡슐화(encapsulation) 정보 은닉화, 캡슐화(encapsulation)를 통해 데이터를 보호하고 은닉할 수 있습니다. 예를 들어 학생의 정보를 저장하는데, 나이를 150살 이상으로 입력할 수 없도록 하고자 합니다. ◆ 잘못된 해결 방법 우선 생성자에 나이가 150살 미만일 때만 값이 저장되도록 조건문을 작성하는 방법을 생각해 볼 수 있습니다. public class Student { String name; int age; String address; String ssn; public Student(String name, int age, String address, String ssn) { if(age 2022. 5. 22.
[JAVA] 객체와 클래스 - 메소드(method) 메소드(method)는 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것입니다. 클래스의 구성요소 중 하나로서, 클래스의 기능적인 면을 표현할 때 사용합니다. 일반적으로 멤버변수에 저장된 데이터를 수정, 조회, 삭제하거나 중복코드를 처리할 때 사용합니다. 다음과 같은 형식으로 메소드를 정의합니다. [접근제한자] 리턴타입 메소드명([파라미터,...]) { //메소드가 처리하는 실행문 [return 리턴값;] } 메소드를 사용하려면 반드시 해당 메소드가 속한 클래스 객체를 생성한 후 메소드를 호출해야 합니다. 메소드를 호출하면 프로그램 제어가 호출한 곳(caller)에서 호출된 곳(callee, worker)으로 넘어가며, 호출된 곳에서 작업이 끝나면 다시 호출한 곳으로 복귀합니다. 리턴값을 가지고 복귀.. 2022. 5. 22.
[JAVA] 객체와 클래스 - 생성자, 생성자 오버로딩 생성자(Constructor)는 클래스의 구성요소 중 하나로서, 멤버변수를 초기화하는 역할을 합니다. 즉, 변수에 데이터를 처음 저장하는 역할입니다. 생성자 이름은 반드시 클래스명으로 지정해야 합니다. 파라미터(매개변수)를 이용해서 값을 받아 멤버변수에 초기값을 저장할 수 있습니다. [접근제한자] 클래스명([파라미터]) { } ◆ 기본생성자 (Default Constructor) 기본생성자는 매개변수가 없는 생성자로서, 개발자가 따로 작성하지 않은 경우 묵시적으로 자동 생성됩니다. 앞서 객체를 생성할 때 Student() 라는 표현을 사용한 적이 있습니다. 이는 Student 클래스의 기본생성자를 호출한 것입니다. 확인을 위해 Student 클래스의 기본생성자를 명시적으로 작성해 보겠습니다. public.. 2022. 5. 22.
[JAVA] 객체와 클래스 - 인스턴스변수 선언 후 객체 생성하기 ◆ 객체와 클래스 객체(object)란 실생활에서 주체(subject)가 파악할 수 있는 모든 존재하는 것으로서, 모든 객체는 속성과 동작으로 구성됩니다. 특정 객체의 속성과 동작을 적절하게 추출하여 정의하는 것을 '객체 모델링'이라고 하며, 현실 세계에서 추출한 객체를 자바와 같은 프로그래밍 언어에서 적절하게 표현하는 것을 '객체지향 프로그래밍(Object Oriented Programming: OOP)'이라고 합니다. ① 객체 모델링을 통해 얻은 객체를 ② 클래스로 설계한 후 ③ 클래스의 인스턴스를 통해 프로그램을 구현하는 것이 객체지향 개발의 과정이라고 할 수 있습니다. 예를 들어 10명의 학생 정보를 저장하고자 합니다. ① 객체 모델링 : 기본적으로 필요한 정보는 이름, 생년월일, 전화번호 등이 .. 2022. 5. 21.
[JAVA] 자바 배열 (Array) - 2차원 배열 지난 글에 이어 2차원 배열에 대해 알아보겠습니다. 2차원 배열 역시 세 가지 방법으로 생성 가능합니다. 차례대로 보도록 하겠습니다. (1) new 키워드 이용 ① 배열 선언 : 2개의 대괄호를 사용하여 배열을 선언합니다. 데이터형 [][] 배열명; ② 배열 생성 : new 키워드를 사용하고 크기를 지정하여 배열을 생성합니다. 행과 열 크기를 모두 지정하면 정방형의 2차원 배열이 생성되고, 열크기를 지정하지 않으면 비정방형의 2차원 배열이 생성됩니다. 이후 열 크기를 동적으로 지정할 수 있습니다. 배열 선언과 생성은 한 줄 또는 두 줄 작성 모두 가능 합니다. 생성된 배열의 각 방에는 초기값으로 기본값이 저장됩니다. 배열명 = new 데이터형[행크기][열크기]; ③ 배열 초기화 : 실제 원하는 값을 저장.. 2022. 5. 21.