본문 바로가기

JAVA

(23)
JAVA(23) - 실습 <제품 관리프로그램> /응용실습 - <데이트 관리프로그램> package com.homeminus.dto; public class LifeProduct extends Product { private String maker;//제조사 private boolean recycle;//재활용 여부 private String usage;//용도:주방,욕실,거실,베란다 등 public String getMaker() { return maker; } public void setMaker(String maker) { this.maker = maker; } public boolean isRecycle() { return recycle; } public void setRecycle(boolean recycle) { this.recycle = recycle; } public Str..
JAVA(22) - 예외처리/Exception Handling/try/catch/finally/throw/ throws 1. 예외처리(Exception Handling) Error(오류)와 Exception(예외사항) 오류 : 크게 컴파일 오류(Compile error)와 실행 오류(Runtime error)로 구분 Error는 프로그램이 실행될 수 없는 오류. 프로그램이 실행중에 처리할 수 없음.(코드를 고쳐야..) Exception은 프로그램 실행 중에 발생하는 오류. 수습 코드를 통해 실행 중 해결할 수 있는 오류. 예외 처리란 수습 코드를 작성하여 사전에 예외로 인한 프로그램의 비정상적 종료를 미연에 방지하는 작업. 주요 예외 사항 ArithmeticException : 수학적으로 해결할 수 없는 예외 NullPointException : 인스턴스가 생성되지 않았다. ArrayIndexOutOfBoundsExcep..
JAVA(21) - Super/부모클래스 생성자 생성 방법/생성자들의 실행 순서 1. Super super vs this this : 멤버 필드와 일반 변수(매개 변수)를 구분할 때 사용. this() : 한 생성자가 다른 생성자를 호출할 때 사용. this는 같은 인스턴스(클래스) 안에서 활용. super.변수명 부모클래스의 멤버와 자손 클래스의 멤버를 구분하기 위해 사용. super() 부모클래스의 생성자 호출을 위해 사용. 자손클래스의 생성자에서는 부모클래스의 생성자를 호출해서 먼저 처리되도록 해야 함.(첫번째 줄에 작성) 부모클래스에 여러 개의 생성자가 존재할 경우(오버로딩) 생성자의 매개변수로 구분하여 사용. super vs this 사용 예시) import package1.A; public class SuperTest { public static void main(Stri..
JAVA(20) - 캡슐화(정보 은닉)/상속/상속의 장점/상속의 계층화/상속과 포함관계를 모두 사용한 새로운 클래스 작성/클래스 상속 받는 방법/상속 실습 프로젝트 만들어보기/Override (오버라이드)/.. 객체 지향의 특성 1. 캡슐화(정보 은닉) 필드 + 메소드 = class 2. 상속 부모로부터 어떤 [성질]을 물려받는 것. 기존의 클래스(부모 클래스)를 재사용해서 새로운 클래스 작성하는 방법. 기존 클래스의 멤버 + 새로운 멤버 = 새 클래스 기존 클래스를 부모, 조상 클래스 / 새 클래스를 자식, 자손 클래스라고 함 부모 클래스(super class)의 모든 멤버는 자손 클래스에 포함된다. 상속이 안되는 멤버 : 생성자 class Point{ int x, y; } class Point3D extends Point{//Point클래스를 확장하여 Point3d를 생성한다 -> 확장하여 생성한 클래스이기 때문에 Point3D로 인스턴스 생성 시 int x, y, z 모두 만들어짐.(생성자는 가져올 수 없..
JAVA(19) - 생성자/기본 생성자/메소드 오버로딩/Method Overloading/ 1. 생성자(Constructor) 인스턴스가 생성될 때 마다 호출되는 '인스턴스 초기화 메소드' 인스턴스 변수의 초기화 또는 인스턴스 생성 시 수행해야할 작업을 작성. 몇가지 조건을 제외하고는 메소드와 같다. 모든 클래스에느 반드시 하나 이상의 생성자가 있어야 한다. (인스턴스를 새로 만들기 위해서는 new 뒤에 생성자가 꼭 호출되어야하기 때문에) 1. 생성자의 이름은 클래스의 이름과 같아야 한다 2. return이 없다 class 클래스명{ //생성자 클래스명(매개변수목록) } 스캐너로 예시를 들어보면.. "스캐너라는 클래스의 인스턴스를 새롭게 생성한다" Scanner(System.in) : 생성자 Scanner scan = new Scanner(System.in); 매개변수와 맴버변수가..
JAVA(18) - 콜백함수/(STATIC/인스턴스)메소드에서 호출 전체 코드 import java.awt.im.spi.InputMethod; public class StaticTest { static void add1(int a, int b) { System.out.println(a + " + " + b + " = " + (a+b)); } void add2(int a, int b) { System.out.println(a + " + " + b + " = " + (a+b)); } //main : 콜백 함수 public static void main(String[] args) { StaticTest st = new StaticTest(); //자기자신을 인스턴스로 만듦 add1(4, 5); st.add2(7, 8); } } class StaticClass { //스태틱 변..
JAVA(17) - CardTest/카드 클래스 실습 전체 코드 public class CardTest { public static void main(String[] args) { //static 멤버는 클래스 이름으로 접근이 가능함 Card.width = 200; Card.height = 300; Card c1 = new Card(); c1.kind = "Heart"; c1.number = 7; Card c2 = new Card(); c2.kind = "Spade"; c2.number = 4; System.out.println("c1은 " + c1.kind + ", " + c1.number + "이며, 크기는 (" + c1.width + ", " + c1.height + ")"); System.out.println("c2은 " + c2.kind + ", ..
JAVA(16) - 객체(object) /객체지향/객체 지향의 4대 특성/Class/Class 실습/필드의 초기화/메소드/변수의 종류/클래스맴버/인스턴스맴버/패키지 1. 객체(object) 객체, 클래스, 인스턴스 상태와 기능을 가지고 있는 고유 단위 = 객체(object) 자바에서 객체를 만들기 위한 설계도/틀 = class class로 만든 (new) 객체 = 인스턴스(instance) 2.객체 지향의 4대 특성 1. 캡슐화(정보은닉) 상태 + 기능 = 객체 변수 + 메소드 = class 필드(변수)의 종류 고유값(변경되지 않는 값) 가변값(변경되는 값) 가변값을 처리하는 기능을 제공 -> 메소드 예제) TV, 의자, 책을 객체로 만들자 - > class로 만들자. 1.) TV 상태, 데이터 - on/off 상태, 체널, 볼륨 조절, 크기 상태(state)는 데이터를 저장하는 필드(field)라고 함. 필드는 고유값을 저장하는 필드와 기능 처리 시 필요한 가변값..