개발공부/객체 지향 입문

예제 시나리오 1001학번 Lee와 1002학번 Kim, 두 학생이 있습니다. Lee 학생은 국어와 수학 2과목을 수강했고, Kim 학생은 국어, 수학, 영어 3 과목을 수강하였습니다. Lee 학생은 국어 100점, 수학 50점입니다. Kim 학생은 국어 70점, 수학 85점, 영어 100점입니다. Student와 Subject 클래스를 만들고 ArrayList를 활용하여 두 학생의 과목 성적과 총점을 출력하세요 Student 클래스 package com.ch24; import java.util.ArrayList; public class Student { ArrayList subjects = new ArrayList(); public int studentNumber; public String name; ..
java.util 패키지에서 제공되는 ArrayList 기존의 배열 선언과 사용 방식은 배열의 길이를 정하고 요소의 개수가 배열의 길이보다 커지면 배열을 재할당하고 복사해야 했음 배열의 요소를 추가하거나 삭제하면 다른 요소들의 이동에 대한 구현을 해야 함 ArrayList는 객체 배열을 좀더 효율적으로 관리하기 위해 자바에서 제공해 주는 클래스 이미 많은 메서드들이 최적의 알고리즘으로 구현되어 있어 각 메서드의 사용 방법만 익히면 유용하게 사용할 수 있음 ArrayList의 주요 메서드 ArrayList를 활용한 간단한 예제 import java.util.ArrayList; import ch21.Book; public class ArrayListTest { public static void main(St..
다차원 배열 이차원 이상으로 구현 된 배열 평면 (이차원 배열) 이나 공간(삼차원 배열)을 활용한 프로그램 구현 이차원 배열 예제 int[][] arr = {{1,2,3}, {4,5,6}} public class TwoDimensionTest { public static void main(String[] args) { int[][] arr = { {1,2,3}, {4,5,6,7}}; int i, j; for(i =0; i
객체 배열 선언과 구현 기본 자료형 배열은 선언과 동시에 배열의 크기만큼의 메모리가 할당되지만, 객체 배열의 경우엔 요소가 되는 객체의 주소가 들어갈(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 title) { this.t..
배열이란? 동일한 자료형의 순차적 자료 구조 인덱스 연산자[]를 이용하여 빠른 참조가 가능 물리적 위치와 논리적 위치가 동일 배열의 순서는 0부터 시작 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용함 배열 선언과 초기화 배열 선언하기 int[] arr1 = new int[10]; int arr2[] = new int[10]; // 두 가지 다 쓸 수 있음. 본인은 위의 것을 주로 쓸 예정 배열 초기화 하기 배열은 선언과 동시에 자료형에 따라 초기화 됨 ( 정수는 0, 실수는 0.0, 객체는 null) 필요에 따라 초기값을 지정할 수 있음 int[] numbers = new int[] {10, 20, 30}; //개수 생략해야 함 int[] numbers = {10, 20, 30}; // n..
public class CarFactoryTest { public static void main(String[] args) { CarFactory factory = CarFactory.GetInstance(); Car mySonata = factory.createCar(); Car yourSonata = factory.createCar(); System.out.println(mySonata.getCarNum()); // 10001 출력 System.out.println(yourSonata.getCarNum()); // 10002 출력 } } - 위의 test Code가 올바르게 실행될 수 있도록 Car, CarFactory 클래스를 구현해보자. - 우선, Carfactory의 객체인 factory가 Cl..
싱글톤 패턴이란? 프로그램에서 인스턴스가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴 static 변수, 메서드를 활용하여 구현 할 수 있음 싱글톤 패턴으로 회사 객체 구현하기 생성자는 private으로 선언 private Company() {} 클래스 내부에 유일한 private 인스턴스 생성 private static Company instance = new Company(); 외부에서 유일한 인스턴스를 참조할 수 있는 public 메서드 제공 public static Company getInstance() { if( instance == null) { instance = new Company(); } return instance; } CompanyTest.java public class ..
static 메서드 만들기 serialNum 변수를 private으로 선언하고 getter/setter 구현 Employee.java private static int serialNum = 1000; ... public static int getSerialNum() { return serialNum; } public static void setSerialNum(int serialNum) { Employee.serialNum = serialNum; } 클래스 이름으로 호출 가능 ( 클래스 메서드, 정적 메서드 ) System.out.println(Employee.getSerialNum()); static 메서드(클래스 메서드)에서는 인스턴스 변수(멤버 변수)를 사용할 수 없다 static 메서드는 인스턴스..
환타몬
'개발공부/객체 지향 입문' 카테고리의 글 목록