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

분류 전체보기139

[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.
[JAVA] 자바 - 접근 제어 지시자 - public, protected, private 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드입니다. 접근제어지시자 설명 private 같은 클래스 내부에서만 접근 가능합니다. (외부 클래스, 상속관계의 클래스에서도 접근 불가) 아무것도 없음(default) 같은 패키지 내부에서만 접근 가능합니다. (상속관계라도 패키지가 다르면 불가) protected 같은 패키지나 상속관계의 클래스에서 접근 가능하고 그 외 외부에서는 접근 할 수 없습니다. public 클래스의 외부 어디서나 접근할 수 있습니다. get() /set() 메서드 private으로 선언된 멤버 변수(필드)에 대해 접근, 수정할 수 있는 메서드를 public으로 제공합니다. get() 메서드만 제공되는 경우 read-only 필드 이클립스.. 2021. 11. 23.
[JAVA] 자바 - 참조 자료형 변수 참조 자료형 변수의 자료형 기본 자료형 : int, float, double, long 등 참조 자료형 : String, Date Student 등 클래스 형으로 변수를 선언합니다. 기본 자료형은 사용하는 메모리 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다릅니다. 참조 자료형을 사용 할때는 해당 변수에 대해 생성하여야 합니다. String 클래스는 예외적으로 생성하지 않고 사용할 수 있습니다. 참조 자료형 정의하여 사용하기 Student.java public class Student { int studentId; String studentName; Subject korean; Subject math; public Student(int id, String name) { studentId = id.. 2021. 11. 23.
728x90
반응형
LIST