목록분류 전체보기 (79)
개발 일기
추상(abstarct)클래스란? 정의 1) 하나이상의 추상메쏘드가 정의되어있는 클래스 2) 추상메쏘드가 존재하지 않으나 객체생성을 막기위해 만든 클래스 ex> public abstarct class Test{ //추상메쏘드(); public abstarct int print(int i); //일반메쏘드(); public void test(){ } } ==>추상메쏘드: 메쏘드의 구현부분(바디{})이 없고 선언부(signature)만 존재하는 메쏘드 ex> public abstarct int print(int i); 특징 추상클래스는 불완전한 추상메쏘드를 가지므로 객체생성이 불가능하다. Test t=new Test();(X) 추상클래스는 추상클래스를 상속받아서 추상메쏘드를 구현(오버라이딩)하는 자식 클래스를..
객체의 형변환!! 부모 자식 관계에있는 클래스 틀에서만 가능하다. ex) 자식 타입 객체의 주소를 부모 타입 객체의 주소로 형변환(주소 변경 안됨, 타입만 변경 가능) ex) 부모 타입 객체의 주소를 자식 타입 객체의 주소로 형변환(주소 변경 안됨, 타입만 변경 가능) 자식객체 타입의 주소를 부모 클래스 타입으로 형변환 자동으로 이루어진다(묵시적) Child c = new Child(); Parent pppp = c; 부모 객체를 자식클래스타입으로 형변환 원칙적으로는 불가능하다 부모의 탈을쓴 자식객체 는 가능하다. Parent p=new Parent(); Child cccc = p;(X) public class Parent{} public class Child extends Parent{} 코딩 예시))..
안녕하세요! 오늘은 상속의 연장선으로 JAVA의 Overriding(재정의)에 대해서 복습해보고 예시 코딩을 해보겠습니다. 오버라이딩(재정의)란??? 상속관계에서 발생하는 메쏘드의 재정의 기법 JAVA의 다형성 기법중의 하나 부모 클래스에 정의 된 메쏘드의 이름, 리턴타입, 인자가 동일한 메쏘드를 자식 클래스에 정의(재정의)하는 것 즉, 부모 클래스에서 정의 된 부분을 자식 클래스에서 동일하게 사용 하는 기능을 할 수 있다. 예시) //1. AcademyMember 부모 클래스 생성 public class AcademyMember { public int no; public String name; public AcademyMember() { } public AcademyMember(int no, Strin..
JAVA에서의 상속(클래스의 관계)는 부모클래스(객체)의 멤버들을 자식클래스(객체)가 물려받는 것 상속을 하는 이유 기존에 만들어놓은 클래스의 재사용, 확장(유지보수)를 위해서 사용 상속의 특징 자바에서는 단일상속만이 가능하다.(부모클래스가 한개만 가능) 부모클래스(super, parent)와 자식클래스(sub, child)가 존재한다. 자바에서 제공되어지는 모든 클래스들은 'Object'라고 하는 최상위 클래스로부터 상속되어 있다. 사용자 정의 클래스도 'Object' 클래스라는 최상위 클래스를 상속 받아야 한다. 코딩 예시 Parent class 생성 class Parent extends Object{ // "extends Object"가 상속의 특징 'Object..
책 정보 클래스, 학생 정보 클래스 두 개의 클래스를 생성한 뒤 학생 정보 클래스안에 책 정보 클래스를 포함 시켜서 코딩해보겠습니다!.. 책 정보 설정 클래스 구성 public class Book { private int bookNo; private String bookName; private String bookType; private String bookEx; public Book() { // 생성자 정의 } public Book(int bookNo, String bookName, String bookType, String bookEx) { this.bookNo = bookNo; this.bookName = bookName; this.bookType = bookType; this.bookEx = bo..
학생 클래스를 생성하여 캡슐화, 변수, 스레드 선언 후 메인 클래스에 배열 객체를 통한 코딩 진행!! public class Student { // Student 클래스 생성 /* * > 번호 이름 국어 영어 수학 총점 평균 평점 석차 * > 기본데이타입력,총점계산,평균계산,평점계산, 출력 */ private int number, kor, eng, math, sum, rank; //private 캡슐화 private double avg; private char grade; private String name; /* * * - 인자 0개짜리 생성자(기본생성자선언) * - 인자 5개짜리(번호 이름 국어 영어 수학) 생성자선언 */ public Student() { } public Student(int num..
배열을 사용하여 학생 점수 계산 코딩!! public class PrimitiveTypeArrayStudentMain { public static void main(String[] args) { /* * 배열 객체 초기화 */ System.out.println("-----------학생데이타를 저장하기위한 배열 객체 생성 초기화-----------"); int[] noArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; String[] nameArray = {"KIM", "LEE", "PARK", "CHOI", "SIM", "GOO", "QIM", "WIM", "EIM", "RIM"}; int[] korArray = {99, 54, 55, 56, 57, 44, 43, 24, 99, 4..
배열(타입): - 같은데이타형(ex.int, double, char 등등)을 가진 변수 여러개의 모음타입 - 배열변수의 선언형식 데이타타입[] 변수이름; (ex. int[] intArray;) 배열데이타타입 변수이름; - 사용: 1.배열객체의생성 2.배열객체 멤버들의 초기화 (ex. int[] intArray = {1, 2, 3, 4}; ) -특징 1.모든 배열타입의 변수는 참조변수(레퍼런스 타입(Reference type))이다. (배열은 객체다.) 2.같은타입만 정의가가능하다 3.길이가 고정되어있다. public class PrimitiveTypeArrayMain { public static void main(String[] args) { int[] intArray; // 배열변수의 선언 intArr..