본문 바로가기
반응형

Language42

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.
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.
JAVA 5일차 - 변수와 메소드 / 재귀함수 💡변수와 메소드 // 클래스 변수는 인스턴스 변수를 사용할 수 없음. - 클래스 변수 (ex. static int cv) - 인스턴스 변수 (ex. int iv) 💡static // 클래스 메소드에서 인스턴스 변수를 사용불가. // 클래스 메소드에서는 인스턴스 메소드를 호출할 수 없음. - 클래스 메소드 💡인스턴스 // 인스턴스 메소드에서는 인스턴스 변수를 바로 사용가능. // 인스턴스 메소드에서는 인스턴스 메소드와 클래스 메소드를 호출할 수 있다. - 인스턴스 메소드 📃static/인스턴스 예제 (1) public class MemberCall { int iv = 10; static int cv = 20; // int iv2 = cv; // static int cv2 = iv; // 에러. 클래스변수는.. 2022. 6. 24.
JAVA의 정석 3판 - 객체지향 프로그래밍 연습문제 🚩문제 💾소스코드 import java.util.Scanner; public class PracticeOop1 { public static void main(String[] args) { SutdatCard sut = new SutdatCard(); System.out.println("1~10 범위 숫자를 입력하세요."); Scanner s = new Scanner(System.in); sut.num = s.nextInt(); System.out.println(sut.num_range(sut.num)); System.out.println("true/false >> 광인지 확인하고 입력하세요."); sut.isKwang = s.nextBoolean(); System.out.println(sut.kwang(.. 2022. 6. 23.
JAVA 4일차 - 객체 지향 프로그래밍(2) 📂프로젝트 파일 💾소스코드 public class TestStudy { public static void main(String[] args) { Student s1 = new Student(); s1.setName("김검둥"); s1.setScore_c(50); s1.setScore_java(100); Student s2 = new Student(); s2.setName("박냥냥"); s2.setScore_c(10); s2.setScore_java(40); System.out.println("이름 : " + s1.getName() + "| C언어 점수 : " + s1.getScore_c() + "| JAVA 점수 : " + s1.getScore_java() + "| 평균 : " + s1.getAvg()).. 2022. 6. 23.
JAVA 4일차 - 객체 지향 프로그래밍(1) 📂프로젝트 파일 💾소스코드 public class TvTest { public static void main(String[] args) { Tv t; t = new Tv(); t.power(); t.setChannel(11); // t.channel = -1; (X) 메소드와 변수 사용하기 //t.channelDown(); //System.out.println(t.channel); t.showInfo(); Tv t2; t2 = new Tv(); t2.power(); t2.setChannel(7); t2.showInfo(); } } class Tv { String color; int channel; boolean power; void power() { power = !power; } // 입력받은 정수 값.. 2022. 6. 23.
728x90
반응형