본문 바로가기
728x90
반응형
SMALL

자바46

[JAVA] 자바 - 객체 배열을 구현한 클래스 ArrayList java.util 패키지에서 제공되는 ArrayList 기존의 배열 선언과 사용 방식은 배열의 길이를 정하고 요소의 개수가 배열의 길이보다 커지면 배열을 재할당하고 복사해야 했습니다. 배열의 요소를 추가하거나 삭제하면 다른 요소들의 이동에 대한 구현을 해야 했습니다. ArrayList는 객체 배열을 좀 더 효율적으로 관리하기 위해 자바에서 제공해주는 클래스입니다. 이미 많은 메서드들이 최적의 알고리즘으로 구현되어 있어 각 메서드의 사용방법만 익히면 유용하게 사용할 수 있습니다. ArrayList의 주요 메서드 메서드 설명 boolean add(E e) 요소 하나를 배열에 추가. E는 요소의 자료형을 의미 int size() 배열에 추가된 요소 전체 개수를 반환 E get(int index) 배열의 ind.. 2021. 11. 25.
[JAVA] 자바 - 2차원 배열 사용하기 다차원 배열 2차원 이상으로 구현된 배열입니다. 평면(2차원 배열)이나 공간(3차원 배열)을 활용한 프로그램을 구현합니다. int[][] arr = new int[2][3]; int[][] arr = {{1, 2, 3}, {4, 5, 6}}; 2차원 배열 예제 TwoDimenstionTest.java public class TwoDimenstionTest { public static void main(String[] args) { //int[][] arr = {{1, 2, 3}, {1, 2, 3, 4}}; //int[][] arr = new int[3][4]; for(int i = 0; i < arr.length; i++) { for(int j = 0; j < arr[i].length; j++) { Sy.. 2021. 11. 25.
[JAVA] 자바 - 객체 배열 사용하기 객체 배열 선언과 구현 기본 자료형 배열은 선언과 동시에 배열의 크기만큼 메모리가 할당되지만, 객체 배열의 경우에는 요소가 되는 객체의 주소가 들어갈(4바이트, 8바이트) 메모리만 할당되고(null) 각 요소 객체는 생성하여 저장해야 합니다. Book.java public class Book { private String title; private String author; public Book() { } public Book(String title, String author) { // 초기화 작업 this.title = title; this.author = author; } public String getTitle() { return title; } public void setTitle(String t.. 2021. 11. 25.
[JAVA] 자바 - 배열 (자료를 순차적으로 한꺼번에 관리하는 방법) 배열이란? 동일한 자료형의 순차적 자료 구조이고 유한 집합으로 정의할 수 있습니다. 배열은 같은 종류의 데이터를 많이 다뤄야 하는 경우에 사용할 수 있는 가장 기본적인 자료 구조입니다. 배열을 구성하는 각각의 값을 배열 요소(element)라고 합니다. 배열에서의 위치를 가리키는 숫자를 인덱스(index)라고 합니다. 인덱스 연산자[]를 사용하여 빠른 참조가 가능합니다. 물리적 위치와 논리적 위치가 동일합니다. 배열의 순서는 0부터 시작합니다. 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용합니다. 배열은 선언되는 형식에 따라 1차원 배열, 2차원 배열뿐만 아니라 그 이상의 다차원 배열로도 선언할 수 있습니다. 1차원 배열 배열 선언 - 2가지 방법이 있습니다. int[] arr1 = new.. 2021. 11. 24.
[JAVA] 자바 - static 응용 - 싱글톤 패턴 싱글톤 패턴이란? 프로그램에서 인스턴스가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴입니다. static 변수, 메서드를 활용하여 구현 할 수 있습니다. 싱글톤 패턴으로 회사 객체 구현하기 생성자는 private로 선언합니다. Company.java public class Company { private static Company instance = new Company(); private Company() { } // static으로 선언해야지 외부에서 클래스 이름으로 호출할 수 있다 public static Company getInstance() { if (instance == null) { instance = new Company(); } return instance; } } Compan.. 2021. 11. 23.
[JAVA] 자바 - static 메서드의 구현과 활용, 변수의 유효 범위 static메서드 만들기 변수를 private으로 선언하고 getter/setter 구현합니다. getter / setter는 이클립스에서 코드에 마우스 우클릭을 하고 Source -> Generate Getter and Setters... 를 클릭하면 생성할 수 있습니다. Employee.java public class Employee { private static int serialNum = 1000; private int employeeId; private String employeeName; private String department; // 객체가 생성될 때 초기화 작업은 생성자에서 해준다 public Employee() { serialNum++; // 이 변수는 공유x. // 이 변수를 바로.. 2021. 11. 23.
[JAVA] 자바 - static 변수 여러 인스턴스에서 공통으로 사용하는 변수 선언 - static 변수 공통으로 사용하는 변수가 필요한 경우 여러 인스턴스가 공유하는 기준 값이 필요한 경우 학생마다 새로운 학번 생성 카드회사에서 카드를 새로 발급할 때마다 새로운 카드 번호를 부여 회사에 사원이 입사할 때마다 새로운 사번이 필요 static 변수 선언과 사용하기 static int serialNum; 인스턴스가 생성될 때 만들어지는 변수가 아닌, 처음 프로그램이 메모리에 로딩될 때 데이터 영역에 메모리가 할당되고 프로그램이 다 끝나고 메모리에서 unload 되는 순간에 소멸됩니다. 클래스 변수, 정적 변수라고도 합니다.(vs 인스턴스 변수) 인스턴스 생성과 상관없이 사용 가능하므로 클래스 이름으로 직접 참조합니다. Student.serial.. 2021. 11. 23.
[JAVA] 자바 - 객체 자신을 가리키는 this 인스턴스 자신의 메모리를 가리킵니다. 생성자에서 또 다른 생성자를 호출할 때 사용합니다. 자신의 주소(창조 값)를 반환합니다. 생성된 인스턴스 메모리의 주소를 가짐 클래스 내에서 참조 변수가 가지는 주소 값과 동일한 주소 값을 가지는 키워드입니다. public void setYear(int year) { this.year = year; } 생성자에서 다른 생성자를 호출하는 this 클래스에 생성자가 여러 개인 경우, this를 이용하여 생성자에서 다른 생성자를 호출할 수 있습니다. 생성자에서 다른 생성자를 호출하는 경우, 인스턴스의 생성이 완전하지 않은 상태이므로 this() statement 이전에 다른 statement를 쓸 수 없습니다. Person.java public class Person { .. 2021. 11. 23.
[JAVA] 자바 - 정보은닉과 캡슐화 정보은닉 private으로 제어한 멤버 변수도 public메서드가 제공되면 접근 가능하지만 변수가 public으로 공개되었을 때보다 private일 때 각 변수에 대한 제한을 public메서드에서 제어할 수 있습니다. BirthDay.java public class BirthDay { private int day; private int month; private int year; //public 이나 접근제어지시자 없이 사용하는 것처럼 다 오픈해서 사용하면 //멤버변수의 잘못된 사용으로 객체가 잘못 사용되는 것을 노출하게 되고 // 객체의 어떤 역할에대해서 문제가 생길 수 있다. //그래서 private로 막고 메서드에서 제어를 해주게 되면 쓸데없는 데이터 오용이 막아진다. private boolean .. 2021. 11. 23.
728x90
반응형
LIST