전체 글 (149) 썸네일형 리스트형 day10_oop.getter2 : 멤버필드를 새로 정의하지 않고 총합, 평균 구하기 (1) 평가 결과 정보 다음 데이터를 요구사항에 맞게 객체로 만들어 출력하세요 - 시험점수는 0 이상 100 이하의 정수로만 설정이 가능하도록 구현 - 결과 출력 시 총점과 평균, 통과 여부를 확인할 수 있어야 함 - 과목별 40점 이상이고 평균 60점 이상이면 통과, 아니면 재평가 Student 클래스 package day10_oop.getter2; public class Student { // 멤버 필드 String name, course; int score, scoreC; // name에 대한 getter & setter String getName() { return this.name; } void setName(String name) { this.name = name; } // course에 대한 get.. day14 - 0811 Object 클래스 - Object 클래스는 모든 클래스의 최상위 클래스 - 모든 클래스는 기본적으로 Object 클래스의 상속을 받는다 (extends로 상속을 입력하지 않아도) - 다형성의 최정점에 있다 (모든 클래스의 인스턴스는 Object 클래스의 인스턴스로 업 캐스팅 가능) 생성자 Object() Object 인스턴스 생성 메소드 Modifier and Type Method Description protected Object 참조변수명.clone() 객체 자신의 복사본을 생성하여 반환 boolean 참조변수명.equals(Object obj) 객체 자신과 obj객체가 동일한지 여부 반환 int 참조변수명.hashCode() 객체 자신의 해시코드를 반환 String 참조변수명.toString() .. day13 - 0810 다형성 (Polymorphism) 다형성 - 여러가지 타입을 한가지 타입으로 처리할 수 있는 기술 (한 타입의 참조변수로 여러 타입의 인스턴스를 참조) - 상위클래스 타입의 참조변수로 하위클래스의 인스턴스를 참조할 수 있다 - 상속 관계인 여러 하위클래스들을 묶어 하나의 상위클래스 타입의 참조변수로 관리할 수 있다 정적 객체 생성 - 자신 클래스와 동일한 타입의 인스턴스를 생성하는 것 동적 객체 생성 - 자신 클래스의 상위 클래스 타입의 인스턴스를 생성하는 것 ** 하위 클래스 타입의 인스턴스를 상위 클래스 타입으로 형 변환(casting)하는 것을 업 캐스팅(up-casting)이라 한다 다형성의 조건 1) 상속 관계 2) 메소드 오버라이딩 - 상위 클래스의 메소드를 하위 클래스에서 재정의 day13_.. day12 - 0808 상속 (Inherit) 상속 - 기존 클래스를 재사용하여 새로운 클래스 작성 - 상속을 하는 클래스 : 슈퍼 클래스(super class, 부모 클래스) - 상속을 받는 클래스 : 서브 클래스(sub class, 자식 클래스) - 서브 클래스는 슈퍼 클래스의 모든 멤버(필드와 메소드)를 상속받는다 (생성자는 상속되지 않는다) - 서브 클래스는 슈퍼 클래스보다 멤버의 갯수가 항상 크거나 같다 (서브 클래스 멤버 수 >= 슈퍼 클래스 멤버 수) - 서브 클래스는 단 하나의 슈퍼 클래스만 가질 수 있다 (다중 상속은 허용하지 않는다) - 클래스의 상속은 클래스를 확장한다는 의미의 키워드인 extends로 구현한다 상속의 예시 Phone 클래스 (슈퍼 클래스) public class Phone { // 슈퍼 클.. day11 - 0805 static(클래스의, 공통적인) 클래스 변수 (static 멤버 변수) - 클래스 변수는 인스턴스를 생성하지 않아도 사용 가능 (static 영역에서 관리됨) - 모든 인스턴스에 공통적으로 사용할 수 있으며 일괄 관리된다 클래스 메소드 (static 메소드) - 클래스 메소드는 인스턴스를 생성하지 않아도 호출 가능 (static 영역에서 관리됨) - 클래스 메소드 내에서는 인스턴스 멤버들을 직접 사용할 수 없다 static 전용 초기화 구문 - 클래스 변수(static 멤버 변수)는 생성자로 초기화하지 않는다 static { 클래스 변수 초기화; } final(마지막의, 변경될 수 없는) final 클래스 - 다른 클래스에 상속을 할 수 없는 클래스 (다른 클래스의 슈퍼 클래스가 될 수 없다) fina.. Day10_oop.setter2 : setter의 활용 (★) (Q) 다음 요구사항에 맞게 데이터를 객체로 구현하고 정보를 출력하세요 - 강의시간은 30시간 단위로만 구성할 수 있습니다 - 수강료는 음수가 될 수 없습니다 - 구분은 온라인과 오프라인, 혼합 셋 중 하나로 설정할 수 있습니다 Lecture 클래스 package day10_oop.setter2; public class Lecture { // 멤버 필드 String course; int time; int price; String type; // setter // 1) 강좌명 void setCourse(String course) { this.course = course; } // 2) 시간 - 30시간 단위로 제한 void setTime(int time) { if(time % 30 != 0) { retur.. Day10_oop.constructor2 : 생성자 연습 + 오버로딩 (★) (Q) 다음 요구사항에 맞게 데이터를 객체로 구현하고 정보를 출력하세요 - 아이디와 직업은 반드시 설정되도록 구현하세요 - 레벨을 설정하지 않으면 자동으로 1로 설정되게 구현하세요 Player 클래스 package day10_oop.constructor2; public class Player { // 멤버 필드 String name; String type; int level; // 생성자 // 레벨을 입력받지 않았을 경우 자동으로 1이 되도록 (오버로딩) Player(String name, String type){ this(name, type, 1);//여기서 this는 생성자 자신을 지칭한다 } // 레벨을 입력할 경우 해당 레벨이 되도록 Player(String name, String type, in.. Day09_oop.method7 : 메소드 연습 (6) (Q) 다음 데이터를 요구사항에 맞게 구조화하고 출력하세요 - 재생 수가 10만이 넘어가면 제목 옆에 "베스트"라고 출력 - 좋아요 수가 10만이 넘어가면 제목 옆에 "인기곡"이라고 출력 - 차트 랭킹 계산 공식이 다음과 같을 때 랭킹 점수를 구하여 추가로 출력 ** 랭킹 점수 = 재생수 * 2 + 좋아요 / 2 Song 클래스 package day09_oop.method7; public class Song { // 멤버 필드 String name; String singer; String album; int play; int like; // 세팅 메소드 void setting(String name, String singer, String album, int play, int like) { this.nam.. 이전 1 ··· 7 8 9 10 11 12 13 ··· 19 다음