본문 바로가기
반응형

분류 전체보기309

JAVA 6일차 - 오버로딩, 오버라이딩, 상속 예제 💾 소스코드 🚩Car, CarSmart클래스를 만들어 차의 문의 개수, 차의 색상, 기어타입, 자동 운전 여부를 작성한다. //클래스명 : Car //멤버변수 : 데이터타입-변수명-용도 // int-door-문의개수, String-color-차의색상, String-gearType-기어타입 //생성자 // 매개변수를 3개 갖는 생성자 - 문의개수,색상, 기어타입을 전달받아 멤버변수 초기화 // 기본생성자 - 문의갯수는 3, 색상은 white, 기어타입은 auto로 멤버변수 초기화 //메서드 //toStirng()을 오버라이드 - 모든 멤버 변수를 문자열로 반환 //테스트 코드 : 문의 갯수와 색상, 기어타입이 다음과 같은 // 2개의 Car 인스턴스를 생성하고 정보를 출력 // 1번 인스턴스 - 3, wh.. 2022. 6. 27.
JAVA 6일차 - 제어자, 추상클래스, 추상메소드 💡제어자 제어자(modifier) - 클래스, 변수, 메소드의 선언부에 사용되어 부가적인 의미를 부여한다. - 제어자는 접근 제어자와 그 외의 제어자로 나뉜다. 접근 제어자 public protected default private 그 외 static final abstract native transient synchronized volatile strictfp 제어자 같은 클래스 같은 패키지 자손클래스 전체 public protected default private 💡static 제어자 static - 클래스의, 공통적인 - static이 사용될 수 있는 곳 - 멤버변수, 메소드, 초기화 블록 [ 멤버변수 ] - 클래스 변수가 된다. - 인스턴스를 생성하지 않고도 사용 가능하다. - 클래스가 메모리에 .. 2022. 6. 27.
JAVA 6일차 - 패키지, import문 선언 💡패키지 패키지(package) - 서로 관련된 클래스와 인터페이스의 묶음 - 패키지는 서브패키지를 가질 수 있으며 '.' 으로 구분한다. - 클래스의 실제 이름은 패키지명이 포함된 것이다. ex) String 클래스의 full name은 java.lang.String 💡import문 import문 - 사용할 클래스가 속한 패키지를 지정하는데 사용 - import문을 사용하면 클래스를 사용할 때 패키지명을 생략할 수 있다. - java.lang패키지의 클래스는 import하지 않고도 사용할 수 있다. 📃패키지 예제 package aaa; //import aaa.bbb.BBB; //import aaa.bbb.BBB2; import aaa.bbb.*; //import java.lang.*; --> lang패.. 2022. 6. 27.
JAVA 6일차 - toString 메소드, 상속 예제 연습 📃상속 예제(1) - Car //클래스명 : Car //멤버변수 : 데이터타입-변수명-용도 // int-door-문의개수, String-color-차의색상, String-gearType-기어타입 //생성자 // 매개변수를 3개 갖는 생성자 - 문의개수,색상, 기어타입을 전달받아 멤버변수 초기화 // 기본생성자 - 문의갯수는 3, 색상은 white, 기어타입은 auto로 멤버변수 초기화 //메서드 //toStirng()을 오버라이드 - 모든 멤버 변수를 문자열로 반환 //테스트 코드 : 문의 갯수와 색상, 기어타입이 다음과 같은 // 2개의 Car 인스턴스를 생성하고 정보를 출력 // 1번 인스턴스 - 3, white, auto // 2번 인스턴스 - 4, red, auto public class Car .. 2022. 6. 27.
JAVA의 정석 3판 - 두 점 사이 거리 계산 📝문제 1 💾소스코드 // 두 점의 거리를 계산하는 getDistance()를 완성하시오. public class Exercise6_6 { // 두 점(x, y)와 (x1, y1) 간의 거리를 구한다. static double getDistance(int x, int y, int x1, int y1) { //(1) 알맞은 코드를 넣어 완성하시오. double distance; // distance = Math.sqrt(Math.pow(x1-x, 2) + Math.pow(y1-y, 2)); return distance; } public static void main(String[] args) { System.out.println(getDistance(1,1,2,2)); } } 📝문제 2 💾소스코드 // 클.. 2022. 6. 26.
JAVA 5일차 - 오버라이딩 / 상속 💡 오버라이딩 # 오버라이딩(Overriding) - 상속받은 메소드의 내용을 변경하는 것 : 조상클래스로부터 상속받은 메서드의 내용을 상속받는 클래스에 맞게 변경하는 것을 말한다. 💬조건 1. 선언부가 같아야 한다.(이름, 매개변수, 리턴타입) 2. 접근제어자를 좁은 범위로 변경할 수 없다. - 조상의 메소드가 protected라면, 범위가 같거나 넓은 protected나 public으로만 변경할 수 있다. 3. 조상클래스의 메소드보다 많은 수의 예외를 선언할 수 없다. 💡 참조 변수 # 참조변수 * this - 인스턴스 자신을 가리키는 참조변수 * super - this와 같음. 조상의 멤버와 자신의 멤버를 구별하는 데 사용 - Object클래스를 제외한 모든 클래스의 생성자 첫 줄에는 생성자를 호출.. 2022. 6. 26.
랜덤 카드 추출 게임 🃏랜덤 카드 추출 게임 랜덤으로 카드를 뽑고, 그 카드의 모양과 숫자를 표시하시오. 가로는 100, 세로는 200으로 고정한다. 카드의 모양 = {"heart", "diamond", "clover", "spade"} 카드의 숫자 범위 = 1~13 💾소스코드 public class CardTest { public static void main(String[] args) { String arr[] = { "heart", "diamond", "clover", "spade" }; Card arr_card[] = new Card[5]; int num = 0; int index = 0; for (int i = 0; i < arr_card.length; i++) { num = (int) (Math.random() *.. 2022. 6. 26.
JAVA의 정석 3판 - 객체지향 프로그래밍 연습문제(3) 🚩문제 1 🚩문제 2 💾소스코드 public class Exercise6_4 { public static void main(String[] args) { Student s = new Student(); s.name = "홍길동"; s.ban = 1; s.no = 1; s.kor = 100; s.eng = 60; s.math = 76; System.out.println("이름 : " + s.name); System.out.println("총점 : " + s.getTotal()); System.out.println("평균 : " + s.getAverage()); } } class Student { String name; int ban; int no; int kor; int eng; int math; int .. 2022. 6. 24.
JAVA 5일차 - 오버로딩 / 생성자 💡오버로딩 오버로딩(Overloading) - 기존에 없는 새로운 메소드를 정의하는 것 : 하나의 클래스에 같은 이름의 메소드를 여러 개 정의하는 것 ex) 생성자 💬조건 1. 메소드의 이름이 같아야 한다. 2. 매개변수의 개수 또는 타입이 달라야 한다. 3. 매개변수는 같고 리턴타입이 다른 경우는 오버로딩이 성립되지 않는다. (리턴타입은 오버로딩을 구현하는데 아무런 영향을 주지 못한다.) - 매개변수의 이름이 다른 것은 오버로딩이 아니다. int add(int a, int b) {return a+b;} int add(int x, int y) {return x+y;}​ - 리턴타입은 오버로딩의 성립조건이 아니다. int add(int a, int b) {return a+b;} long add(int a,.. 2022. 6. 24.
728x90
반응형