★ 클래스 종류 클래스 인터페이스 추상 클래스 enum 제네릭 클래스 Object 3. 추상 클래스 구현 멤버를 가질 수 있다 > 일반 클래스의 성질 추상 멤버를 가질 수 있다. > 인터페이스의 성질 추상 메소드 추상클래스 내에서 작성하는 추상메소드 표기법 public abstract void typing(String txt); 실제 존재하는 멤버를 가질 수 없다. 행동의 제약 소스코드 abstract class Keyboard{ public int price; public int weight; public void test() { System.out.println("test"); } //void typing(String txt); //인터페이스내에서만 작성하는 추상메소드 표기법 //추상메소드 publi..
★ Inheritance 객체 지향 프로그래밍(Object Oriented Programing) 클래스 > 객체 중심의 프로그래밍 방식 상속 (Inheritance) 부모가 가지는 재산을 자식에게 물려주는 행동 부모(클래스)가 가지는 재산을 자식(클래스)에게 물려주는 행동 상속하는 이유? 비용 절감 코드 재사용 상속관계에 있는 클래스 호칠 부모 클래스 상속 받은 메소드를 수정하는 기술 소스코드 //아빠 + 아들 마주친 상황 OverridingParent hong = new OverridingParent(); hong.name = "홍길동"; hong.hello(); OverridingChild jhong = new OverridingChild(); jhong.name="홍철수"; //jhong.hi();..
예제 1) 요구사항 : 과자 클래스를 설계하시오 조건 가격, 용량, 생산일자, 유통기한 모든 멤버 변수의 접근 지정자는 private으로 한다. 멤버 접근을 위한 Setter와 Getter를 정의한다. 용량 : 쓰기 전용, 300g, 500g, 850g 가격 : 읽기 전용, 850원(300g), 1200원(500g), 1950원(850g) 생산일자 : 쓰기 전용(Calendar) 남은유통기한 : 읽기 전용, 생산된 제품의 유통기한 기준 : 7일(300g), 10일(500g), 15일(850g) Bugles 객체 메소드 void eat() : 과자 먹기 먹을수 있는 날짜 = 유통기한 - 현재 - 제조시간 5 : 먹을 수 있는 날짜가 5일 남음 3 : 먹을 수 있는 날짜가 3일 지남 소스코드 package ..
★ 사용자 편의를 위한 클래스 사용법 ex1) 요구사항 : 사람의 이름, 나이, 주소, 별명을 입력 받는 클래스 소스코드 설명 클래스를 사용하는 사용자 입장에서, 배열문을 사용하여야 할때, 그 배열문에 대한 사항을 하나하나 다 입력을 하고, toString을 이용하여 출력을 하여야한다. 그러한 불편함을 제거하기위해 배열문에 자동적으로 add를 하여 배열문을 쌓고 출력과 동시에 배열문이 제거되도록 하였다. package com.test.obj; import java.util.Arrays; public class Ex43_Class { public static void main(String[] args) { //Person p1 = new Person(); // //p1.setName("홍길동"); //p1..
★ 클래스(Class) 코드의 집합 같은 목적을 가지는 코드의 집합 데이터 집합 데이터 구조 명확 구조 클래스 객체명 = 객체생성연산자 생성자() 클래스는 : 붕어빵 틀, 설계도, 사람, 강아지 객체 : 붕어빵, 제품, 홍길동, 포메라이언 멤버 접근 연산자 (.) p1.x = 100; p1.y = 200; 클래스 선언하기 class 클래스명 { 클래스 멤버 선언하기 public int a; public int b; ex) Class Size { public String name; public int width; public int height; ★ 클래스 예제 ex1) 이름, 나이를 입력받고 출력 소스코드 User u1 = new User(); u1.name = "홍길동"; u1.hello(); User..
★ 문자열 ( String) 문자의 집합 1. 문자열 길이 int length() System.out.println(name1.length());//문자열 길이 System.out.println(name2.length); //배열 길이 System.out.println("홍길동".length()); System.out.println("홍A1.".length()); //요구사항] 이름 입력 > 몇글자? Scanner scan = new Scanner(System.in); System.out.println("이름 : "); String name = scan.nextLine(); System.out.println(name.length()); //유효성 검사(2~5자 이내) if(name.length() >= ..
예제 1) 요구사항 : 아래와 같이 출력하시오. 조건 마지막 숫자가 100이 넘기 전까지 출력하시오. 소스코드 package com.test.question; public class Q0059 { public static void main(String[] args) { int num = 1; int sum = 1; String result = ""; for(int i=1; ; i++) { result += num + " + "; num += i; if (num>=100) { break; }else {sum += num; } } System.out.println(result+" = "+sum); } } 실행결과 예제 2) 요구사항 : 아래와 같이 출력하시오. 조건 마지막 숫자가 100이 넘기 전까지 출력하..