[자바] 상속 inheritance
·
Archive/Java
1. 상속(inheritance) 상속이란 일반적으로 재산을 부모가 물려주는 것을 의미하는 것과 같이, 자바에서는 부모가 가지고 있는 클래스의 속성과 메소드를 활용할 수 있는 개념으로 시작한다. 2. 객체지향의 핵심적인 요소, 상속과 추상화 프로그래밍에서도 어떤 클래스가 다른 클래스로부터 데이터(속성)와 메소드(기능)를 상속받을 수 있다. 이 경우, 상속받은 객체는 상속해 준 객체의 데이터 및 메소드를 이용할 수 있고, 변경할 수도 있다. 3. 상속이 필요한 이유 상속을 통해서 개발시간을 단축시킬 수 있다. 또한 기존에 만들어진 클래스는 검증이 된 클래스이므로, 시행착오를 줄일 수 있다. 또한 다양한 객체(타입)를 상속을 통해서 하나의 객체(타입)으로 묶을 수 있다. 이것은 추상화 개념의 이해가 필요한 ..
[자바] 패키지 package
·
Archive/Java
1. 패키지의 이해 패키지란? 프로그래밍에서 여러 클래스를 관리하기 위해 기능적으로 영향을 미칠 수 있는 클래스끼리 묶어놓고, 접근 범위 안에 효과적으로 호출하기 위해서 사용하는 개념이다. 윈도우에는 윈도우 탐색기(window+E)가 있다. 윈도우 탐색기는 컴퓨터에 보관되어 있는 파일을 관리하기 위해 폴더를 만들고, 그러한 폴더를 효율적으로 다루기 위해 존재한다. 즉, 폴더 구조를 한눈에 볼 수 있도록 만들어진 프로그램이다. 자바에도 많은 .java 파일들이 존재한다. 또한 우리가 프로그래밍을 하면서 계속적으로 .java 파일을 만든다. 이러한 많은 파일을 효율적으로 관리하기 위해 Java에서는 '패키지(package)'라는 구조를 사용한다. 먼저 Java(jdk)에 존재하는 패키지를 살펴보도록 하자. ..
[자바] 접근제한의 종류와 static
·
Archive/Java
멤버변수 선언 [접근제한자] [static/final] 데이터형 변수명; 1) 접근제한자 접근제한이란 클래스의 데이터나 메소드에 대해서 다른 클래스로부터 접근을 제한하는 것을 말한다. - public : 접근을 제한하지 않는다. 다른 모든 클래스에서 사용 가능. - protected : 해당 클래스와 동일한 패키지에 있거나 상속받은 클래스일 경우에만 사용 가능. - default : 접근제어자를 명시하지 않은 경우의 디폴트 접근 제어자. 같은 패키지 내의 클래스들은 public 권한을 갖고 접근 가능 - private : 해당 클래스만이 이 멤버를 사용할 수 있다. 외부 객체에서는 절대로 접근할 수 없다. 2) static 클래스변수(= static 변수) 객체변수(객체속성)는 객체가 생성될 때마다 각 ..
[자바] 객체지향 프로그래밍(OOP : Object Oriented Programming)
·
Archive/Java
1. 메소드 프로그램의 한계 메소드를 이용하면 절차지향언어에서 중복된 로직의 재사용이 가능하여 개발을 효율적으로 할 수 있었습니다. 하지만 메소드만 가지고는 많은 양의 로직을 처리하기에 한계가 있습니다. 따라서 한 문서 내에 메소드의 수가 많아질 경우 추후 유지 보수에 많은 어려움이 발생됩니다. 2. 객체의 개념 및 클래스의 이해 객체는 '같은 종류의 데이터와 메소드가 함께 있는 구성체' 입니다. 예를 들어, 자동차라는 객체가 있습니다. 자동차에는 색상, 배기량, 브랜드, 속도 등의 데이터(속성)가 있고, 드라이브, 주차, 레이싱이라는 메소드가 있습니다. 자동차를 운전하는 사람은 드라이브하거나 주차하거나 레이싱을 하며 속도(속성)을 바꾸기도 합니다. 또한 색상과 배기량, 제조사, 속도를 가지고 다른 자동..
[자바 문제] 구구단 (method, do~while문 사용)
·
Archive/Java
[문제] 사용자로부터 원하는 단수(2~9)를 받아 구구단을 출력하는 프로그램을 구현하시오. (조건1) 단수를 매개변수로 받기 (조건2) 해당 단수의 구구단을 출력하는 부분을 메소드(method)로 처리 (조건3) 사용자가 2~9 사이의 수가 아닌 수를 입력할 시, 2~9 사이의 수를 입력할 때까지 계속 입력받는다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 package com.lec.ex; import java.util.Scanner; public class test { public static void main(String[] args) { int dansu; Scanner sc = new Scanner(System.in..
[자바] 메소드 method
·
Archive/Java
메소드(method)는 객체지향 프로그램이 나오기 전, 효율적인 프로그래밍을 위해 등장하였습니다. 1. 객체지향 이전의 프로그래밍 "1부터 10까지 정수의 합을 구하고, 그 결과값이 짝수인지 홀수인지를 파악하고, 홀수라면 "홀수입니다"를 짝수라면 "짝수입니다"를 출력하시오." 위에서부터 순차적으로 실행 public static void main(String[] args) { int tot=0; for(int i=1; i
[자바] 배열 array
·
Archive/Java
배열(array)이란? 동일 자료형의 집합을 의미한다. 배열은 인덱스(index)와 인덱스에 대응하는 데이터들로 이루어진 자료 구조로서 배열에는 같은 종류의 데이터들이 순차적으로 저장된다. 하나의 데이터만 가지고 있던 변수와 달리 여러 개의 데이터를 가리키고 있다. 즉 여러 개의 변수를 모아놓은 또 하나의 주머니라고 생각하면 쉽다. 위의 그림에서 (1)의 경우는 10개의 정수 값을 저장하기 위해 10개의 변수를 선언한 경우이다. 서로 다른 변수 이름 10개를 사용하는 어려움이 있으며, sum을 구하는 코드는 길고 지저분하다. 만일 1000개의 정수를 합하는 경우 변수 1000개를 잡아야 하며, sum을 구하는 코드는 너무 길어져 거의 작성이 불가능하게 된다. (2)의 경우는 10개의 정수 공간을 가진 배..
[자바] 제어문 - 반복문 - do~while문
·
Archive/Java
do-while문 : 우선 무조건 한 번은 수행한 후, 조건식이 참이면 반복해서 작업을 수행한다. do{ 최초 한번은 무조건 실행. 두번째부터는 조건식이 참이면 계속 수행할 명령문들; } while(조건식); "키보드로부터 짝수를 입력할 때까지 수를 입력받고 짝수를 입력하면 입력된 값을 출력하는 프로그램을 구현하시오." public static void main(String[] args) { int num; Scanner sc = new Scanner(System.in); do{ System.out.print("반드시 짝수를 입력하시오 : "); num = sc.nextInt(); }while(num%2 != 0); System.out.printf("입력하신 수는 %d이고 짝수", num); sc.clo..