분류 전체보기 83

[중앙정보처리학원] Java* 객체지향 상속 (Inheritance)

상속이란 무엇인가 일상생활 속에서 상속이란 유, 무형의 자산을 부모로부터 자식이 물려받는 것을 말한다. 그렇다면 프로그래밍에서의 상속이란? 거의 의미가 동일하다고 할 수 있다. 부모 클래스가 가진 속성과 기능을 자식 클래스가 물려받는 것을 말한다. tips // 상속은 확장개념이다. 3g폰이 2g 폰의 기능을 가지고 있듯 상속이 필요한 상황 동물 클래스를 여럿 작성한다. 작성하다 보니… 불합리한 점이 발견되었다. 각각 클래스는 다르지만, 가지고 있는 속성과 기능이 너무나 비슷한 것을 찾아볼 수 있다. 모든 동물들 클래스가 name, age, favorite 이라는 속성을 가지고 있고 breath() 기능과 sleep() 기능을 가지고 있다. 이 상황에서 동물 클래스를 더 제작한다면… 그리고 그 동물들도 ..

Java 2024.04.22

[중앙정보처리학원] Java* 객체지향 Practice

문제: 전자 제품 매장 관리 시스템 요구사항 기본 클래스 ElectronicProduct 생성 이 클래스는 모든 전자 제품의 기본이 되는 클래스입니다. 속성: productName (제품명, 문자열) price (가격, 실수형) manufacturer (제조사, 문자열) 메소드: 생성자: 모든 속성을 매개변수로 받아 초기화합니다. displayInfo(): 제품의 정보를 출력하는 메소드. 출력 예: "Samsung TV, 가격: 2000000원, 제조사: Samsung" 서브 클래스 Television 생성 ElectronicProduct의 서브 클래스입니다. 추가 속성: screenSize (화면 크기, 정수형) 메소드: 생성자: 기본 클래스의 속성과 screenSize를 초기화합니다. displayI..

Java 2024.04.18

[중앙정보처리학원] Java* 객체지향 생성자, 접근제한자

생성자의 특징 생성자의 이름은 클래스의 이름과 대/소문자까지 완벽하게 동일해야 한다. 객체를 생성할 때 반드시 호출해야 한다. 일종의 메서드지만, 리턴 타입이 없고 리턴값은 주소값으로 고정되어 있음. 생성자를 하나도 선언하지 않으면, JVM이 매개변수가 없고, 내용이 없는 가장 기본 형태의 생성자를 하나 생성해 주기 때문에 생성자 선언 없이도 객체 생성은 가능하다. 객체를 생성하는 기능 뿐만 아니라, 객체 생성과 동시에 해야 할 일 (필드 초기화) 등을 진행할 수 있다. 접근제한자 package day07.encap; public class Car { private String model; // 자동차 모델명 private int speed; // 현재 속도 private char mode; // 변속 ..

Java 2024.04.18

[중앙정보처리학원] Java* 객체지향 프로그래밍

객체란 무엇인가? 그리고 왜 써야 하는가 객체란 데이터와 그 데이터를 처리하는 함수들을 묶어놓은 하나의 독립적인 단위입니다. 이렇게 하나의 단위로 묶어놓으면 코드의 가독성이 좋아지고 유지보수가 편리해집니다. 또한 객체 지향 프로그래밍은 코드 재사용성이 높아지고 대규모 프로그램을 개발할 때 유용합니다. //객체 설계용 클래스(라이브러리 클래스)는 메인 메서드를 작성하지 않습니다. public class Pen { //객체의 속성을 필드(멤버변수)라고 부릅니다. String color; int price; String productNo; //객체의 기능을 메서드라고 합니다. void write() { System.out.println(color + "색 글을 씁니다."); } void draw() { Sys..

Java 2024.04.18

[중앙정보처리학원] Java* 메서드 basic

public class MethodBasic { // 자바의 함수는 반드시 클래스 블록 내부, 다른 함수 외부에 만들어야 함 // 두개의 정수를 전달받아 합을 리턴하는 함수 static int add(int n1,int n2) { return n1 + n2; // function 대신 return값의 타입에 따라 바꿈 ex) return true 면 boolean add() } // static String[] add(int n1,int n2) { // return new String[]{"hello", "java"}; // // } static void multiply(int n1, int n2) { //void return 없음 System.out.printf("%d x %d = %d\n", n1, ..

Java 2024.04.12

[중앙정보처리학원] Java* 배열(array) Scanner

Integer.parseInt 는 문자열을 정수로 바꿔준다. Scanner라는 내장 기능이 자바에는 있는데 print 된 내용에서 값을 불러와 사용 할 수 있다. public class ScannerPractice { public static void main(String[] args) { // 자바에서 키보드 입력받기 Scanner scan = new Scanner(System.in); // 입력준비 딱 1회만 하면 됨 // 문자 입력받기 System.out.print("상품의가격: "); int price = Integer.parseInt(scan.nextLine()); System.out.println("price = " + price); System.out.print("상품의수량: "); int ..

Java 2024.04.12

[중앙정보처리학원] Java* 배열 (array) 활용

자바스크립트에는 배열에 이미 내장된 함수 들이 있다. 예를들면 push 라던가 pop이라던가 slice라던가. 하지만 자바는 내장되어있지 않고 직접 기능을 만들어 주어야 한다. js에 비교해 자바는 약간 좀 더 손이 많이 가고 분명확실하게 디테일들을 직접 만들어야 된다는 번거로움이 있지만 그만큼 좀 더 깊이가 있고 탄탄한 것 같다. array.copy public class ArrayCopy { public static void main(String[] args) { String[] pets = {"멍멍이", "야옹이", "쨱짹이"}; // String[] petsCopy = pets; // 복사 1 : 배열복사가 아니라 배열 주소 복사 String[] petsCopy = new String[pets.l..

Java 2024.04.12

[중앙정보처리학원] Java* 배열 (array) basic

package day02; import java.util.Arrays; public class ArrayBasic { public static void main(String[] args) { // 배열의 특징 // 1. 동종 모음 구조 : 같은 타입의 데이터만 배열에 담을 수 있음 // 2. 크기가 불변함: 크기를 동적으로 늘이거나 줄일 수 없음 // 배열의 생성 순서 // 1. 배열 변수 선언 int[] numbers; // 2. 배열의 객체를 생성 numbers = new int[5]; System.out.println("numbers = " + numbers); // 3. 배열 값 초기화 numbers[0] = 50; numbers[1] = 77; numbers[2] = (int) 66.7; // ..

Java 2024.04.09

[중앙정보처리학원] Java* 변수

자바의 변수는 블록이 종료되면 메모리에서 사라진다. 스코프를 잘 살펴야한다. package day01; public class Variable { static int n4 = 40; public static void main(String[] args) { System.out.println(n4); int score = 78; // 정수 String userName = "홍길동"; // 문자열 int userN32Ame123; // 변수의 스코프 - 블록레벨 스코프 // 자바의 변수는 생성된 블록이 종료되면 메모리에서 사라짐 int i = 100; for (int j = 0; j < 5; j++) { System.out.println(j); } // end for int n1 = 10; int n2; if..

Java 2024.04.08