Java 58

Java 예외처리

프로그램 오류 : 프로그램 수행 시 치명적 상황이 발생하여 비정상 종료 상황이 발생한 것, 프로그램 에러라고도 한다. 컴파일 에러 : 프로그램의 실행을 막는 소스 상의 문법 에러, 소스 구문을 수정하여 해결  런타임 에러 : 입력 값이 틀렸거나 배열의 인덱스 범위를 벗어났거나 계산식의 오류 등  . 시스템 에러 : 컴퓨터 오작동으로 인한 에러, 소스 구문으로 해결 불가  예외처리(Exception)Unchecked Exception으로 주로 프로그래머의 부주의로 인한 오류인 경우가 많기 때문에예외 처리보다는 코드를 수정해야 하는 경우가 많음 RuntimeException 후손 클래스 ArithmeticException :0으로 나누는 경우 발생 if문으로 나누는 수가 0인지 검사 NullPointerEx..

Java 2024.06.29

Java 인터페이스 정의 인터페이스를 이용한 실습 예제_2

interface NotePen은 초기값 true를 가지고 있는 상수 변수인 PEN_BUTTON 1개와bluetoothPen(); 추상 메소드를 가지고 있다  class : GalaxyNote9     class GalaxyNote9는  추상 클래스 SmartPhone와 interface NotePen을 상속과 구현을 받는다 상속과 구현을 받은 7개의 추상메소드 오버라이딩하게 된다상수 변수 2개도 사용이 가능하다.  V40도 마찬가지이다       MVC 패턴에 나온 사용데이터를 참고하여 각 오버라이딩으로 재정의 될 내용들을 추가한다.

Java 2024.06.28

Java 인터페이스 정의 인터페이스를 이용한 실습 예제_1

추상 메소드만 담고 있는  : 인터페이스   역할 : 극단적으로 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것 자바의 다형성을 극대화하여 개발 코드 수정을 줄이고 프로그램 유지보수성을 높이기 위해 인터페이스를 사용    추상메소드는 몸체를 갖지 않는다따라서 인스턴스 생성이 불가능하지만 객체로 생성은 불가능하다 참조변수 선언 가능  interface는 상수 변수와 추상 메소드를 갖는다.   interface 인터페이스명{ // 상수도 멤버로 포함할 수 있음  public static final 자료형 변수명 = 초기값; 추상 메소드만 선언이 가능하다 : [public abstract] 반환자료형 메소드명(자료형 매개변수) ;// 생략이 되기 때문에 오버라이딩 시 반드시 public으로 표기 해야된..

Java 2024.06.27

KH 교육과정 6월 25일 상속 내용 정리

상속이란  :  다른 클래스가 가지고 있는 멤버 (필드, 메소드)들을 새로 작성할 클래스에서 직접 만들지 않고 상속을 받음으로써 새 클래스가 자신의 멤버처럼 사용할 수 있는 기능  상속의 목적 : 클래스의 재사용, 연관된 일련의 클래스들에 대한 공통적인 규약 정의   상속 장점 :  1. 상속을 사용함으로써 보다 적은 양의 코드로 새로운 클래스 작성이 가능하다 2. 코드를 공통적으로 관리하기 때문에 코드의 추가 및 변경의 용이하다3. 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다.   모든 클래스는 Object클래스의 후손이다 Object클래스가 제공하는 메소드를 오버라이딩하여 메소드 재구현 가능 java.lang.String 클래스의 equls()와 toString() java.l..

Java 2024.06.26

일반 변수와 참조 변수 차이점

일반 변수는 메모리의 특정 위치에 값을 저장하는 변수이다  기본 타입 변수 특징  비객체 타입으로 null 값을 가질 수 없다 기본값이 정해져 있다 변수의 선언과 동시에 메모리를 생성한다 모든 값 타입은 메모리의 stack에 저장이 된다       참조 변수는 기존 변수의 별칭으로 원래 변수와 동일한 메모리 위치를 가리킨다  참조 타입은자료형을 제외한 나머지를 말한다  참조형 타입의 특징 :  기본형과는 달리 실제 값이 저장되지 않고, 자료가 저장된 공간의 주소를 저장한다  기본형 - > 실제 값을 저장 참조형 - > 주소를 저장 , 참조형 변수는 null로 초기화 시킬 수 있다   지역 변수(Local Variable) :  함수나 블록 내에서 선언된 변수이다 함수가 종료되면 메모리에서 해제된다  전역..

Java 2024.06.25

Java 객체 배열 내용 정리

객체 배열이란 ?   : 프로그래밍에서 동일 한 타입의 여러 객체를 하나의 배열로 관리하는 자료 구조객체 배열을 사용하면 여러 객체를 하나의 변수로 다룰 수 있어 코드의 가독성과관리가 용이해진다   // Person 클래스 정의 class Person {     String name;     int age;       Person(String name, int age) {         this.name = name;         this.age = age;     }     void display() {         System.out.println("Name: " + name + ", Age: " + age);     } } // 객체 배열 사용 예시 public class Main {     p..

Java 2024.06.24

자바 객체 배열

안녕하세요! 자바 객체 배열에 대해 자세히 알아보겠습니다. 🙂 자바 객체 배열 개요 - 자바에서 동일한 타입의 여러 객체를 생성하여 사용할 때는 객체 배열을 사용합니다. - 객체 배열은 클래스 타입의 배열로, 객체를 저장할 수 있습니다. - 객체 배열을 사용하면 다량의 데이터를 효율적으로 관리할 수 있습니다. 객체 배열 선언 및 생성 - 객체 배열은 클래스명을 자료형으로 하여 선언합니다. - 객체 배열을 선언과 동시에 할당, 인덱스를 이용한 초기화, 선언과 동시에 할당 및 초기화 등의 방법으로 생성할 수 있습니다. 객체 배열 사용 방법 - 객체 배열의 자료에 접근할 때는 인덱스를 활용하여 접근합니다. - 멤버변수나 메소드에 접근할 때는 `.`을 이용하여 접근합니다. 객체 배열 활용 예시 - 학생 객체를 ..

Java 2024.06.23

KH 교육원 Java 클래스 9일차

클래스(객체) "객체"란 현실 세계에 독립적으로 존재하는 모든 것들을 의미프로그램상의 필요한 객체를 만들기 위해 class 를 만들어야 된다    추상화 과정 :1) 구현하고자 하는 프로그램에서 필요한 객체를 생각하기2) 그 객체들이 가지는 공통적인 속성, 기능들을 추출하기3) 추출한 것을 가지고 구현하고자 한 프로그램의 "실질적인 목적"에 맞춰 불필요한 속성, 기능을 제거하기4) 최종적으로 추려진 속성들을 어떤 자료형과 어떤 변수명으로 사용할 것인지 생각하기 학생이라는 객체속성 : (데이터/정보) 이름, 학번, 반,점수,학년,학교 등등기능(동작/행위) : 밥먹기, 운동하기, 등교하기, 공부하기, 청소하기 학생 "성적"관리 프로그램 : 이름, 학번, 반, 점수 공부하기, 시험보기, ...객체와 속성 그리..

Java 2024.06.21

자바 프로젝트

프로젝트명 : Homework2_OOP [문제 1] 다음과 같은 클래스를 작성하시오.구현 클래스 다이어그램 (Class Diagram) Shapetype : intheight : doublewidth : doublecolor : String = “white”Shape()Shape(type:int, height:double, width:double)information() : Stringsetter() / getter() SquareControllers : Shape = new Shape()calcPerimeter(height:double, width:double) : doublecalcArea(height:double, width:double) : doublepaintColor(color:String) ..

Java 2024.06.20

KH 교육과정 (7일차) 자바_ 배열 실습 및 2차원 배열

자바의 2차원 배열은 배열의 배열로, 행(row)과 열(column)로 구성된 테이블 형태의 데이터를 저장할 수 있는 배열입니다. 2차원 배열은 일반적으로 행과 열을 사용하여 데이터를 관리하며, 주로 행렬, 테이블, 게임 보드 등의 데이터를 저장하는 데 사용됩니다.2차원 배열 선언 및 초기화2차원 배열을 선언하고 초기화하는 방법은 여러 가지가 있습니다. 다음은 그 예시입니다:정적 초기화 (Static Initialization)javaint[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}};동적 초기화 (Dynamic Initialization)javaint[][] array = new int[3][3]; // 3x3 크기의 2차원 배열 선언// 배열 요..

Java 2024.06.19