본문 바로가기

Programming Language/Java22

[국비] Java 내용정리 Day11 Super 모든 생성자에는 super()가 기본 내장되어 있다. 자식 객체가 생성될 때는 부모의 객체도 생성이 되어야 부모의 속성과 기능이 실존하게 되고, 자식에게 물려 줄 수 있기 때문이다. Super 설명 현실에서도 부모 없이는 자식이 존재하지 않듯, 객체지향 프로그램에서도 자식 객체를 생성하면 부모객체가 자동으로 생성된다. 하지만 모든 객체는 생성자를 호출해야만 생성되는데, 자식 객체 생성시 어디에서 부모의 생성자를 호출되었을까? 그에 대한 답은 자식 생성자에 있다. 자식 클래스에서 부모 클래스의 메서드를 오버라이딩하게 되면, 부모 클래스의 메서드는 숨겨지고 오버라이딩된 메서드가 호출된다. 자식 클래스에서 부모의 원본 메서드를 호출하려면 부모의 주소를 갖고 있는 super키워드를 사용한다. pack.. 2021. 11. 20.
[국비] Java 내용정리 Day10 객체지향 프로그래밍(Object Oriented Programming) 객체지향 프로그래밍이란 모든 데이터들을 객체로 표현하고 객체들의 상호작용(책임, 협력, 위임) 등을 프로그램으로 표현하는 프로그래밍 기법 객체란? 객체는 물리적으로 존재하거나 추상적으로 생각할 수 있는 것들을 말한다. 물리적으로 눈에 보이는 펜, 자동차, 사람과 같은 것과 추상적인 주문, 강의 등과 같은 것도 모두 객체가 될 수 있다. 현실의 객체와 프로그래밍의 객체 객체간의 관계 객체의 속성과 기능 속성이란 객체가 가진 정보들을 의미한다. 강아지의 속성 견종, 나이, 이름, 키, 몸무게, 예방접종 여부 등 기능이란 객체가 가진 행위들을 의미한다. 강아지의 기능 짖다, 놀다, 사료를 먹다, 꼬리를 흔들다 등 클래스란? 현실에서 객체가.. 2021. 11. 10.
[국비] Java 내용정리 Day09 MethodQuiz02 문제) 1. calcDivisor()라는 메서드를 선언. 2. 이 메서드는 정수 하나를 전달받아서 해당 정수의 모든 약수를 가로로 출력하고 약수의 개수를 리턴하는 메서드이다. (가로로 출력은 메서드 내부에서 진행) 3. 메서드 선언을 완료하고, main에서 72의 약수의 개수와 10의 약수의 개수를 출력. public class MethodQuiz02 { static int clacDivisor(int num) { int count = 0; System.out.print("약수: "); for(int i = 1; i 6 # 임의의 두 자연수 a, b가 주어졌을 때, 둘 중 큰 값이 a라고 가정. a를 b로 나눈 나머지를 n이라고 했을 때 (a % b -> n) n이 0이 된다면 b.. 2021. 11. 6.
[국비] Java 내용정리 Day08 메서드 메서드란 객체의 기능을 표현하는 코드 블록을 말한다. 수학의 함수처럼 어떤 데이터를 메서드에 전달하면 특정 값을 반환하는 형태로 만들어져 있다. Programming Method 메서드는 반복되는 코드 블록에 이름을 붙여놓은 것이다. 메서드는 반복되는 코드를 줄여주고 좀 더 구조화 시켜서 우리가 코드를 알아보기 쉽게 한다. (코드의 모듈화) 메서드는 선언하는 과정과 호출하는 과정으로 나눠진다. 메서드의 선언은 메서드 내부에서는 불가능하다. 새로운 메서드의 선언은 반드시 메서드 블록 외부 and 클래스 블록 내부에서만 가능하다. 메서드의 호출은 메서드나 생성자 내부에서만 가능하다. 메서드의 호출은 곧 메서드를 사용하는 것을 의미한다. 메서드가 필요로 하는 데이터(매개값)를 호출부로 전달하면 그 값을.. 2021. 11. 5.
[국비] Java 내용정리 Day07 2차원 배열 배열 안에 배열이 존재하는 형태를 2차원 배열이라 한다. 실제 배열에는 배열의 주소값이 들어가게 된다. import java.util.Arrays; public class Array2D { public static void main(String[] args) { int[][] arr = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12, 13, 14} }; System.out.println(arr.length); System.out.println(Arrays.toString(arr[0])); System.out.println(Arrays.toString(arr[1])); System.out.println(Arrays.toString(arr[2])); Syst.. 2021. 11. 3.
[국비] Java 내용정리 Day06 배열 메모리에 정수 5개를 저장해서 쉽게 관리하고 싶은데 이런 식으로 각각의 변수에 저장한다면 불편함이 있다. 만약 정수 5개가 아니라 500개라면 각각 변수를 선언해서 지정해야 한다면 큰 불편함이 있다. 배열(array)이란 한 개의 변수로 여러 개의 데이터를 저장하고 참조하고 싶을 때 사용한다. 복수의 데이터를 하나의 변수로 통제할 수 있다는 장점을 가지고 인덱스라는 순차적인 번호로 부여되어 있어서 반복문 처리도 수월해진다. 같은 데이터 타입의 값을 집합 형태로 나열하기 위한 자료형 import java.util.Arrays; public class ArrayBasic { public static void main(String[] args) { // 배열 변수의 선언 int[] arr; // java.. 2021. 11. 1.
[국비] Java 내용정리 Day05 반복문 중첩(loop nesting) 외부 반복문 내부에 내부 반복문이 존재하는 형태를 반복문 중첩이라 한다. 반복문 자체를 반복시켜야 할 경우에 중첩을 사용한다. 내부 반복문이 종료가 되어도, 외부 반복문이 끝나지 않으면 내부 반복문은 외부 반복문의 제어변수의 크기 및 범위까지 계속해서 반복 실행하게 된다. public class LoopNesting { public static void main(String[] args) { for(int dan = 2; dan 2021. 10. 29.
[국비] Java 내용정리 Day04 삼항 연산자 피 연산자(연산을 당하는 값)가 3개인 연산자를 말한다. 삼항 연산식 : (조건식 ? 좌항 : 우항) 조건식을 비교하여 true가 도출되었을 시 좌항의 값이 도출되고, false가 도출되었을 시 우항의 식이 도출된다. public class ConOperator { public static void main(String[] args) { int x = 10, y = 20; String result = (x > y ? "x는 y보다 크다." : "x는 y보다 작다."); System.out.println(result); //난수를 발생시키는 메서드 Math.random();//0.0이상 1.0미만의 실수 난수값을 반환합니다. //double rn = Math.random();//System.o.. 2021. 10. 29.
[국비] Java 내용정리 Day03 자바 표준 입력 클래스 Scanner 자바는 Scanner라는 클래스를 사용하여 표준 입력을 간편하게 처리할 수 있다. Scanner 사용 방법 Scanner클래스를 java.util 패키지로부터 import 한다. Scanner의 객체를 생성한다. Scanner의 함수를 사용해서 입력을 처리한다. Scanner의 사용이 끝나면 메모리 자원을 반납한다. //1. Scanner api 로딩 (제공되는 Scanner 정보를 현재 클래스로 가져오기) import java.util.Scanner; public class ScannerExample { public static void main(String[] args) { //2. Scanner 객체 생성. Scanner sc = new Scanner(Syste.. 2021. 10. 28.