본문 바로가기

초보개발자

(10)
[Java] 오버라이딩(overriding) 오버라이딩(overriding) - 하위클래스에서 상위클래스의 메소드를 리턴타입까지 동일하게 선언한 후, 재정의 하는 것을 의미합니다. - 인스턴스 선언 시 상위클래스형으로 선언하면 모든 하위클래스로 생성이 가능합니다. 즉, 상위클래스형 인스턴스에는 하위클래스형 인스턴스가 들어갈 수 있습니다. 상위클래스형으로 선언된 인스턴스는 오직 상위클래스의 멤버에만 접근가능합니다. (생성된 하위클래스의 멤버에는 접근 불가) 단, 오버라이딩된 메소드는 하위클래스로 접근가능합니다. . . 예제 class Speaker { private int volume; public void showCurrentState(){ System.out.println("볼륨 크기 : " + volume); } public void setVo..
[Java] static 상속 - private으로 선언된 상위 클래스의 멤버는 상속은 되지만 하위 클래스에서 접근을 할 수는 없으며, 접근하기 위해서는 메소드를 통해 접근해야 합니다. - 상속의 단계가 몇 단계이든 상관없이 상위 클래스의 멤버에 접근 할 수 있습니다. - 클래스멤버(static)도 상속이 되어 하위클래스에서도 공유할 수 있습니다. . . 예제 class Adder { static int val = 0; public void add(int n){ val += n; } } class AdderFriend extends Adder{ public void friendAdd(int n){ val += n; } public void showVal(){ System.out.println(val); } } class InheriS..
[Java] 상속 실습 상속에 대해 실습을 해보았다. WaterCar에서 showCurrentGauge() 메소드를 사용하기 위해 HybridCar와 Car를 상속 받았다. (단일 상속이기 때문에 WaterCar가 HybridCar를, HybridCar가 Car를 상속받는다.) . . 예제 class Car{ int gasolineGauge; public Car(int gasolineGauge){ this.gasolineGauge = gasolineGauge; } } class HybridCar extends Car{ int electricGauge; public HybridCar(int gasolineGauge, int electricGauge){ super(gasolineGauge); this.electricGauge = ..
[Java] 상속 기초 상속(inheritance) - 두 클래스간의 관계를 의미하며 상속을 주는 클래스(super, 상위 클래스)가 상속을 받는 클래스(sub, 하위 클래스)에 멤버들을 자유롭게 사용할 수 있게 해줍니다. - 하위 클래스에서 상위 클래스의 멤버를 사용할 대 인스턴스를 생성하지 않고 사용이 가능합니다. - 단, 자바에서의 상속에서는 단순히 코드의 재활용성에 초점을 두면 안됩니다. - 자바에서의 상속은 단일 상속(한 클래스에서만 상속받음)만을 지원합니다. - 상속의 목적은 삭속관계의 클래스들을 공통적인 규약으로 묶기 위해 상속을 합니다. - 자바의 모든 클래스는 상속 관게에 속해 있습니다. 모든 클래스는 자동으로 java.lang.Object 클래스를 상속받고 있습니다. - 문법 class 하위클래스명 exten..
[Java] 2차원 배열 - 2차원 배열 선언 및 생성법 자바에서의 2차원 배열은 타 언어들과는 달리 여러 개의 1차원 배열의 조합으로 생성됩니다. 자료형[][] 배열명 = new 자료형[행개수][열개수]; // 가장 많이 사용 배열명 자료형[][] = new 자료형[행개수][열개수]; 자료형[] 배열명[] = new 자료형[행개수][열개수]; // 2, 3번째 방법은 사용 안함. - 2차원 배열의 초기화 : 각 행별로 다른 길이로 지정할 수 있습니다. 자료형[][] 배열명 = { {값1, 값2, 값3}, {값1, 값2}, {값1, 값2, 값3, 값4, 값5}, }; 또는 자료형[][] 배열명 = {{값1, ... , 값n}, {값1, ... , 값n}, {값1, ... , 값n}}; // 각 행마다 다른 길이로 값을 지정할 수..
[Java] 최댓값, 최솟값 구하기 Array와 for문을 이용하여 Scanner로 입력받은 정수의 최댓값과 최솟값을 구해보자. . . 접근 방법 - 배열에 입력된 정수 중 첫 번째 값은 최댓값(int max) 또는 최솟값(int min)으로 설정한다. - 그리고 배열에 있는 모든 숫자들을 조건에 맞게 검사하여 max보다 크면 그 값을 max에 저장한다. 최솟값도 마찬가지이다. import java.util.*; /* 배열을 매개변수로 하는 메소드를 두 개 정의 public static int getMaxValue(int[] arr){} public static int getMinValue(int[] arr){} 각 메소드에서는 전달받은 배열에서 최대값과 최소값을 구하여 리턴 배열은 Scanner를 이용하여 5개의 정수를 입력받아 최대값과..
[Java] 배열 Scanner이용 cmd 창에서 데이터를 입력받기 위해서 import java.util.*; 이용하여 Scanner 사용합니다 . . 예제 import java.util.*; // util패키지 내의 모든 클래스를 사용하겠다는 의미 class ArrayEx2 { public static void main(String[] args) { int[] arrInt = {2, 4, 6, 8}; for (int i = 0 ; i < arrInt.length ; i++) { System.out.print(arrInt[i] + " "); } System.out.println(); Scanner sc = new Scanner(System.in); int[] arrInt2 = new int[6]; for (int i = 0 ; i < ar..
[Java] String 메소드 활용 3 String 메소드 활용 3번째 시간입니다. . 파일이 주어졌을때 확장자를 확인하는 방법과 계좌번호가 주어졌을 때 특정 번호를 확인하는 방법입니다. . 예제1 - 접근방법 확장자는 맨 뒤에 있는 점을 기준으로 확인할 수 있습니다. 그 점의 위치를 찾아서 뒤에 있는 확장자 명이 원하는 확장자 명인지 확인합니다. class StringEx3 { public static void main(String[] args) { String file1 = "abcd.jpg"; String file2 = "abcd.gif"; String file3 = "abcd.zip"; String file4 = "abcd.jpeg"; String file5 = "abcd.png"; String file6 = "abcd.html"; /..