전체 글
-
Java Study [2022-08-13] - 객체지향프로그래밍(상속과 다형성 코딩 문제 풀이)백엔드 2022. 8. 14. 20:18
📌 Java Study 🔸 2022-08-13 토요일 [상속과 다형성] 1. 1번 문제풀기(직접 코딩) 문제 : 일반 고객과 VIP 고객의 중간 등급 만들기, 고객이 늘어 VIP 고객만큼 물건을 많이 구입하지 않지만, 단골인 분들을 GOLD 등급으로 관리하고 싶다. 혜택은 다음과 같다. 제품을 살 때는 항상 10%를 할인 보너스 포인트는 2%를 적립 담당 전문 상담원은 없음 Customer 클래스에서 상속을 받아 GoldCustomer를 구현해보기 Customer 클래스 package witharraylist; public class Customer { protected int customerID; protected String customerName; protected String customerGra..
-
Java Study [2022-08-12] - 객체지향프로그래밍(상속과 다형성)백엔드 2022. 8. 13. 03:38
📌 Java Study 🔸 2022-08-12 금요일 [상속과 다형성] 1. 다형성(polymorphism) 하나의 코드가 여러 자료형으로 구현되어 실행되는 것 같은 코드에서 여러 실행 결과가 나옴 정보은닉, 상속과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나 객체지향프로그래밍의 유연성, 재활용성, 유지보수성에 기본이 되는 특징 class Animal{ public void move() { System.out.println("동물이 움직입니다."); } } class Human extends Animal { public void move() { System.out.println("사람이 두 발로 걷습니다."); } } class Tiger extends Animal { public void mov..
-
Java Study [2022-08-11] - 객체지향프로그래밍(상속과 override)백엔드 2022. 8. 12. 02:07
📌 Java Study 🔸 2022-08-11 목요일 [상속과 다형성] 1. 상속에서 클래스 생성 과정과 형 변환 하위 클래스가 생성되는 과정 하위 클래스가 생성될 때 상위 클래스가 먼저 생성됨 상위 클래스의 생성자가 호출되고, 하위 클래스의 생성자가 호출됨 하위 클래스의 생성자에서는 무조건 상위 클래스의 생성자가 호출되어야함 하위 클래스에서 상위 클래스의 생성자를 호출하는 코드가 없는 경우 컴파일러는 상위 클래스 기본 생성자를 호출하기 위한 super()를 추가함 super()로 호출되는 생성자는 상위 클래스의 기본 생성자임 만약, 상위 클래스의 기본 생성자가 없는 경우 (매개 변수가 있는 생성자만 존재하는 경우), 하위 클래스는 명시적으로 상위 클래스이 생성자를 호출해야함 원리를 파악하기 위해 코드에..
-
Java Study [2022-08-10] - 객체지향프로그래밍(상속 이론 및 예제 활용)백엔드 2022. 8. 11. 03:39
📌 Java Study 🔸 2022-08-10 수요일 [상속] 1. 상속 클래스에서 상속의 의미 새로운 클래스를 정의할 때 이미 구현된 클래스를 상속받아서 속성이나 기능이 확장되는 클래스를 구현함 상속하는 클래스 : 상위 클래스, parent class, base class, super class 상속받는 클래스 : 하위 클래스, child class, derived class, subclass 좀 더 일반적인 클래스와 좀 더 구체적인 클래스가 있을 때 기능이 유사하되, 기존의 클래스의 기능을 가져와 조금 더 확장시킬 때 사용 B 클래스가 A 클래스로부터 상속받음 extends 키워드 뒤에는 하나의 클래스만 올 수 있음 C++에 비해 자바는 single inheritance(단독 상속)만 지원 class..
-
Java Study [2022-08-09] - 객체지향프로그래밍(ArrayList 응용 문제)백엔드 2022. 8. 10. 01:07
📌 Java Study 🔸 2022-08-09 화요일 [배열과 ArrayList] 1. 코딩 문제 풀기(ArrayList를 활용한 응용 프로그램) 어느 학교에 학생이 3명 있습니다. 각 학생마다 읽은 책을 기록하고 있습니다. Student 클래스를 만들고 각 학생마다 읽은 책을 Student 클래스내에 ArrayList를 생성하여 관리하도록 합니다. 다음과 같이 출력 되도록 Student, Book, StudentTest 클래스를 만들어 실행하세요. Heo 학생이 읽은 책은 : 태백산맥1 태백산맥2 입니다. Kim 학생이 읽은 책은 : 토지1 토지2 토지3 입니다. Cho 학생이 읽은 책은 : 해리포터1 해리포터2 해리포터3 해리포터4 해리포터5 해리포터 6 입니다. Book 클래스 public clas..
-
Java Study [2022-08-08] - 객체지향프로그래밍(다차원 배열, ArrayList 클래스)백엔드 2022. 8. 10. 01:06
📌 Java Study 🔸 2022-08-08 월요일 [배열과 ArrayList] 1. 다차원 배열 2차원 이상의 배열 지도, 게임, 평면이나 공간을 구현할 때 사용 int [][] arr = new int [2][3] int : 자료형 arr : 배열 이름 [2] : 행 개수 [3] : 열 개수 int [][] arr = {{1, 2, 3}, {4, 5, 6}}; System.out.println(arr.length); // 2 System.out.println(arr[0].length); // 3 System.out.println(arr[1].length); // 3 int [][] arr = {{1, 2, 3}, {4, 5, 6}}; for(int i = 0; i < arr.length; i++) ..
-
Java Study [2022-08-07] - 객체지향프로그래밍(객체 배열, 복사)백엔드 2022. 8. 8. 21:50
📌 Java Study 🔸 2022-08-07 일요일 [배열과 ArrayList] 1. 객체 배열 Book[] library = new Book[5]; 책 5개가 생기는 것은 아님, 배열이 5개가 생기는 것 책 5개를 생성하려면 각각 new 생성자 활용 위 코드 식으로 각각 책을 생성 library[0] = new Book("태백산맥1", "조정래"); library[1] = new Book("태백산맥2", "조정래"); library[2] = new Book("태백산맥3", "조정래"); library[3] = new Book("태백산맥4", "조정래"); library[4] = new Book("태백산맥5", "조정래"); 주소가 출력됨 @ 이전이 클래스의 풀 네임이고, 뒤 값이 인스턴스의 주소 값 ..
-
Java Study [2022-08-06] - 객체지향프로그래밍(배열 기초 이론 및 예제)백엔드 2022. 8. 7. 19:22
📌 Java Study 🔸 2022-08-06 토요일 [배열과 ArrayList] 1. 배열이란 동일한 자료형의 순차적 자료 구조 배열 선언하기 int[] arr = new int[10]; int arr[] = new int[10]; 메모리 구조 => int는 4바이트, 배열의 길이를 10으로 설정 0 번째 한 공간에 4바이트 식으로 배열의 길이가 10이므로 총 40바이트 인덱스 번호는 0부터 시작하여 0 ~ 9 의 범위를 갖음 연속된 자료구조, 중간에 값이 비어있으면 안 됨 첨자 연산이 빠르다(인덱스 번호 활용으로 값 계산) public class ArrayTest { public static void main(String[] args) { int[] arr = new int[10]; int total..