본문 바로가기

JAVA23

JAVA(상속성, 다형성) 상속성 클래스 간의 상속? 클래스간에는 부모 - 자식의 상속 관계를 설정 가능. 부모클래스A를 자식클래스B가 상속 받을 때, B는 A의 모든 멤버변수와 메서드를 자신의 것으로 상속 받음. (단, private으로 설정된 기능은 상속X) B는 A의 public, protected 기능들을 직접적으로 코딩하지 않더라고 자신의 것으로 사용가능. 두명의 부모에게 상속받는것은 불가능, 한 부모가 여러명의 자식에게 상속가능. 상속 정의 방법 'extends'를 입력하여 부모클래스의 이름 명시 public class 자식클래스 extends 부모클래스 { 명 령 어 }* 부모클래스 작성 public class CalcParent { public int plus(int x, int y) { return .. 2020. 6. 9.
JAVA(자바빈즈(Java Beans), 은닉성, 상속성) 자바빈즈(JavaBeans) 자바 언어에서 사용하는 복합적 데이터 표현의 최소단위로서, 재사용 가능한 컴포넌트(구성요소)생성가능. 자바빈즈 클래스로서 작동하기 위해, 객체 클래스는 명명법, 생성법 그리고 행동에 관련된 일련의 관례를 따라야 하다. 이러한 관례는 (빌더 형식의) 개발 도구에서 자바빈즈와의 연결을 통해 클래스의 사용과 재사용 그리고 클래스의 재배치를 가능하게 한다 지켜야 할 관례 - 클래스는 생성자를 가지고 있어야 함. - 클래스의 속성들은 get,set 혹은 표준 명명법을 따르는 메서드들을 사용해 접근할 수 있어야 한다. 은닉성 멤버변수나 메서드가 객체에 노출되지 않도록 설정 메서드 사용 public void setName(String name) {this.name = name;} publ.. 2020. 6. 9.
JAVA(클래스, 객체, 생성자) 객체(=Object) 사전적 의미 : 물건이나 어떠한 대상 프로그래밍에서의 객체 : 프로그램에서 표현하고자 하는 기능을 묶기위한 단위 객체를 구성하는 단위 객체를 이루는 것은 데이터와 기능이다. 데이터는변수로 표현됨. 객체안에 표한된 변수는 멤버변수 혹은 프로퍼티라 함. 기능은 메서드(=함수)로 표현함 클래스와 객체 객체를 생성하기 위해서는 객체의 설계도가 필요함 클래스(=Class) 객체의 설계도 역할을 하는 프로그램 소스 객체의 뼈대 라고 할 수 있다 클래스의 기본작성방법 class 클래스이름 { 멤버변수; void 메서드이름( ) { 실행내용 } } 'class' 라는 예약어와 클래스이름 명시 후 {~~}블록 구성. 멤버변수는 여러개 가능, 값을 선언과 동시에 할당가능. 메서드도 여러개 가능. 객체.. 2020. 6. 4.
JAVA(재귀함수) 01. 재귀함수 메서드 본인이 본인을 호출하도록 하는 함수 1) 팩토리얼 구하기 5! = 5 * 4 * 3 * 2 * 1 = 120 * 반복문을 통한 구현 public class Factorial1 { public static void main(String[] args) { // 팩토리얼을 구하기 위한 메서드 호출 long result = getFactorial(5); // 결과 출력 System.out.println(result); } public static long getFactorial(int max) { long result = 1; for (int i = max; i > 0; i--) { result *= i; } return result; } } // 실행결과 120 2) 재귀호출을 통한 구.. 2020. 6. 4.
JAVA(값 복사 / 참조 복사) 01. 값 복사 변수를 서로 대입하거나 파라미터로 사용 1) 기본 자료형 간의 대입 단순 복사이므로 복사 후 원본이 변경되더라도 복사본에는 영향 없음. (반대도 마찬가지임) public class Note7 { public static void main(String[] args) { int a = 50; // 원본 int b = a; // 복사본 System.out.println("a=" + a); System.out.println("b=" + b); System.out.println("----------"); a += 50; // 원본 수정 System.out.println("a=" + a); System.out.println("b=" + b); System.out.println("----------".. 2020. 6. 3.
JAVA(메서드) 01. 메서드 1) 정의 메서드 = 함수 2) 위치 메서드는 반드시 클래스 안에 포함되어야함. 특정조건이 충족되지 않는 한 하나의클래스안에는 동일한 매서드가 공존 할 수 없음. 3) 이름 규칙 영어, 숫자, 언더바( _ ), $ 만 사용가능. 첫 글자는 반드시 영어로 지정. 두 개 이상의 단어로 조합할경우 * 언더바사용(스네이크표기법) : hello + java -> hello_java * 대문자변환(카멜표기법) : hello + java -> helloJava * 보통 카멜표기법을 많이 사용. 4) 예제 public class Note1 { // (1) 프로그램의 출발점 public static void main(String[] args) { test(); } public static void test.. 2020. 6. 3.
JAVA(2차 배열) 01. 2차 배열 1) 배열 생성 * 배열의 선언 // 데이터타입 뒤에 '[][]'를 명시. int[][] a; * 배열의 할당 입력방법 : [행][열] // new 예약어 뒤에 데이터 타입과 배열의 행과열의 칸 수를 []안에 입력. a = new int[2][3]; // 2행 3열 // 선언과 할당을 한번에 int[][] a = [2][3]; 2) 원소에 값 대입 * 각 원소에 직접 대입하기 a[0][0] = 2; // 0행 0열 a[0][1] = 4; // 0행 1열 a[0][2] = 6; // 0행 2열 a[1][0] = 100; // 1행 0열 a[1][1] = 200; // 1행 1열 a[1][2] = 300; // 1행 2열 * 선언, 할당, 값 대입 한번에 처리 int[][] a = new .. 2020. 6. 2.
JAVA(1차 배열) 01. 배열 1) 배열 만들기 배열의 선언 // 데이터타입 뒤에 '[]'를 명시. int[] a; 배열의 할당 '[ ]'안에 입력되는 값은 배열의 칸을 의미 // new 예약어 뒤에 데이터 타입과 배열의 칸 수를 []안에 입력. a = new int[3]; // 선언과 할당을 한번에 int[] a = new int[3]; 2) 배열의 활용 값 저장하기 크기가 결정된 배열은 0부터 시작하는 인덱스를 갖는다. 아래와 같이 인덱스 번호마다 값을 저장 // 인덱스가 0인 칸에 10을 대입 a[0] = 10; // 인덱스가 1인 칸에 20을 대입 a[1] = 20; // 인덱스가 2인 칸에 30을 대입 a[2] = 30; - 실행 결과 0 1 2 10 20 30 배열에 저장된 값 사용 인덱스 번호를 사용한다는 점.. 2020. 6. 2.
JAVA(기본문법 활용) 01. if-if 구조 특정 조건이 참으로 판단되어 블록안에 진입했을 때, 상세조건을 판별하는 구조. if (/*조건*/) { if (/*조건*/) { 명령어 } else { 명령어 } } else { if (/*조건*/) { 명령어 } else { 명령어 } } 02. if-for 구조(구구단 출력) 특정 조건이 참으로 판단되어 블록안에 진입했을 때, 반복을 수행하는 구조. public class IfFor { public static void main(String[] args) { int k = 10; // int k = 3; if (k > 1 && k < 10) { for (int i=1; i 2020. 6. 1.