Small Grey Outline Pointer soyoung-
본문 바로가기
Java Casting/instance of [up casting] 부모클래스 타입으로 자식 생성자를 호출하는 것 부모클래스명 객체 = new 자식 생성자(); 부모 안에 자식을 담는 것 부모와 자식간의 공통 요소(재정의 메서드)만 사용 가능하며 자식 클래스의 추가 된 것들은 사용할 수 없다 부모타입으로 선언 되었기 때문에 부모필드만 사용 가능하지만, 자식 클래스에서 재정의 했다면 재정의 된 메서드로 사용된다 [down casting] 자식 클래스 타입으로 부모 생성자를 호출하는 오류 부모의 범위가 더 크기 때문에 자식에 담을 수 없다 package day18; class Car{ String brand; String color; int price; public Car() { } public Car(String brand, String color,.. 2022. 6. 11.
Java 클래스 배열 클래스 배열 객체를 여러개 선언해야 하는 경우 배열 타입으로 한번에 선언 후 사용한다 클래스 배열 선언 1. 클래스명[] 배열명 = new 클래스명[길이]; //자동 초기화 2. 클래스명[] 배열명 = { new 클래스명(), new 클래스명(), ... } 클래스 배열 사용 배열명[index].변수명 배열명[index].메서드명 package day17; import java.util.Scanner; class Animal{ String name; int age; String feed; public Animal() { } public Animal(String name, int age, String feed) { this.name = name; this.age = age; this.feed = feed;.. 2022. 6. 11.
Java 상속 package day17; import java.util.Random; class Person{ String name; int age; String gender; int money; public Person() { } public Person(String name, int age,String gender, int money) { this.name = name; this.age = age; this.gender = gender; this.money=money; } } //Person을 상속 받은 Teacher class Teacher extends Person{ String subject; String position; int cnt=0; //강의 10개 할 때 마다 월급 올라가도록 cnt private .. 2022. 6. 11.
상속 / 다형성 package day16; class A{ int data=10; public A() { System.out.println("부모 클래스 생성자"); } void show() { System.out.println("A 클래스"); } } class B extends A{ void check() { show(); //부모 클래스 상속해서 사용하기 } } public class InhTest { public static void main(String[] args) { B instance =new B(); //B 타입의 객체 만들기 instance.check(); } } 부모 클래스 생성자 A 클래스 show();만 호출 했는데 "부모 클래스 생성자" 가 출력 되는 이유? B instance =new B();.. 2022. 6. 7.
지역변수/전역변수/static변수 [지역변수 stack영역] 지역 안에서 선언된 변수 그 영역의 닫는 중괄호 } 를 만났을 때 메모리에서 해제 된다 사용자가 직접 초기화 해야 한다 다른 영역에서 접근할 수 없기 때문에 보안성이 뛰어나다 [전역변수 data영역] 클래스 영역 안에 있고 전체 영역에서 사용 가능한 변수 클래스 영역 외의 어떠한 영역에도 포함되어 있지 않다 new를 만났을 때 초기화 된다 프로그램 종료시 메모리에서 해제 된다 다른 영역에서도 접근할 수 있기 때문에 보안성이 상대적으로 낮다 *new를 만나도 초기화 되지 않게 하려면 static을 붙여 주면 된다 [static변수 data영역] 컴파일을 하게 되면 가장 먼저 메모리에 올라가고 어떠한 경우에도 초기화가 되지 않는다 단, 프로그램 종료시 메모리에서 해제 된다 메모리에.. 2022. 6. 6.
Baekjoon Java 1546 평균 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); //과목 개수 입력 double.. 2022. 5. 30.
Baekjoon Java 2775 부녀회장이 될테야 import java.util.Scanner; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); //test 입력 받기 int[][] APT = new int[15][15]; //1 2022. 5. 29.
Java 항공 관리 프로그램 기본틀 잡기 package ams; import javax.swing.ImageIcon; import javax.swing.JOptionPane; public class AmsMain { public static void main(String[] args) { ImageIcon img = new ImageIcon("src/img/main.gif"); //생성자에 이미지 경로를 알려주기 //절대 경로 : 내 위치가 어디든지 찾아갈 수 있는 경로 //상대 경로: 내 위치에 따라서 변경 되는 경로 String [] menu = {"추가하기", "검색하기", "수정하기", "삭제하기", "목록보기"}; int choice = 0; while(true) { choice = JOptionPane.showOption.. 2022. 5. 26.
Java :: 접근 권한 제어자 data : int - Access(클래스명) default : 파란색 세모 public : 초록색 세모 protected : 노란색 마름모 private : 빨간색 네모 Cloud 클래스의 메서드에서 Access 에 있는 필드에 접근하기 Access 앞에 public이 붙어있는 것은 하나의 프로젝트 내에서 모두가 접근 가능 패키지가 달라도 접근 가능 하지만 Cloud 앞에 public을 붙이면 오류가 난다 메인 클래스에만 public을 붙일 수 있다 즉, Access라는 이름의 자바파일을 만들었기 때문에 그 안에서 퍼블릭 클래스는 Access 단 하나여야 한다 따라서 다른 클래스를 만들게 되면 디폴트가 붙는 것 하나의 파일 안에 여러개의 클래스를 만들 때에는 메인 클래스에만 퍼블릭이 붙을 수 있다!!!.. 2022. 5. 23.
Java :: Class(생성자) package day12; public class Car { int price; //전역변수 String color; String brand; //생성자(메서드의 기능과 같다) public Car(int price, String color, String brand) { this.price = price; //그 객체의 price 내가 외부에서 받은 값을 초기화 하는 것 this.color = color; this.brand = brand; } double speedUp(double speed){ speed++; return speed; } double speedDown(double speed){ speed--; return speed; } void showInfo() { System.out.println.. 2022. 5. 23.