문제 : class diagram을 보고 furitsBasket class 를 작성하자 fruitCount의 초기값은 5 이다. Setting 메서드를 호출할 때 size 변수에 30을 대입하자 setting 메서드의 string 파라미터는 과일의 이름을 받아서 fruitName 변수에 대입하고, int 변수는 과일의 갯수를 받아서 fruitCount 변수에 더해서 대입하자(+=) basketPrn 메서드는 size와 fruitCount의 값을 배교해서 size가 크거나 같으면 과일이름+"의 갯수는 "+갯수+"입니다. ", 작으면 "바구니가 꽉 찼습니다." 를 출력한다. Main() package com.test02; public class MTest { /* * class diagram을 보고 furi..
1. 부모(선조) 의 타입으로 자식(후손) 객체 생성 가능 Parent p = new Child(); 2. 부모의 타입으로 자식 대입 가능 Child c = new Chile(); Parent p = c; 3. 부모의 메서드를 통해 자식 메서드 호출 가능 같은 부모클래스를 가지고 있는 자식 클래스는 컴파일 시 형 변환이 가능하지만 런타임 시 ClassCastException을 발생시킨다. Test Code 위와같은 개념을 나타낼 test code 를 작성해 보겠습니다. 다음과 같은 class 구성도에 따라 class 를 구현합니다. package com.test02; public class MTest { public static void main(String[] args) { // 부모클래스 형태의 변수..
Override [오버라이드] 전제조건 : 상속 관계 에서 작동 상속받은 부모의 메서드를 자식이 변경 또는 확장 동일 이름, 동일 파라미터, 동일 리턴타입 예시 코드는 다음과 같습니다. package com.test02; public class Animal { public Animal() { System.out.println("동물"); } public void bark() { System.out.println("짖는다. "); } } package com.test02; public class Cat extends Animal { public Cat() { System.out.println("고양이"); } // overried : 재정의 -> 상속받은 부모클래스의 메서드를 확장/변형 할 때 @Overr..
클래스(Class) : class는 설계도 이다. 객체를 만들기 위해 필요한 객체의 설계도라고 볼 수 있다. 자료형이 다른 변수들을 메모리에 연속 나열 할당하기 위한 순서를 지정하는 역할을 하며, 클래스 블록 { } 이 캡슐의 역할을 하여 객체 외부에서 멤버변수(Field)로의 접근을 제한하며, 멤버변수들을 하나의 타입으로 묶어 주는 것이 클래스이다. 객체(Object) 와 인스턴스(Instance) 추상화가 이루어진 클래스로부터 데이터가 존재하는 실체로 만드는 과정을 인스턴스화(instantiation) 라고 하며, 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(instance)라고 한다. 자바에서는 객체, 즉 인스턴스는 무조건 메모리 힙(Heap) 영역에 할당하도록 정하였으며 할당된 객체의 주소..
OOP (Object Oriented Programming) : 객체지향 프로그래밍 = 기능별로 객체를 나눈다. 객체지향 프로그래밍이란 객체를 이용하는 프로그래밍 방식을 말한다. 객체(Object)란 컴퓨터, 고객, 학생, 자동차 등 현실 세계에서 흔히 찾아볼 수 있는 대상을 추상화(Abstraction) 하여 프로그램 상에서 만들어낸 결과물이다. 예를 들어 자동차를 만들어야 한다면, 자동차의 각 부품들을 별개로 제작한 다음 필요한 부품을 조립하는 방식으로 자동차를 완성해 나가는 것이 객체지향 프로그래밍 방식이라고 볼 수 있다. 객체지향 프로그래밍의 기술적 특징은 아래 4가지와 같으며, 이 기술들을 이용하여 프로그램을 구현하는 것이 객체지향 프로그래밍이다. 추상화 (Abstraction) : 여러 객체들..
tring : char[] 참조타입 중 유일하게 기본타입의 특징을 가지고 있다. StringPool : 기본타입으로 만들었을 때 heap 영역에 있는 StringPool에 literal 이 생성돼 값이 둥둥 떠다닌다. immutable : String 값 수정시 그 값 자체가 변경되는 것이 아니라 새로운 값이 생성되고, 그 값으로 참조를 바꿈 String Concatenation : 어떠한 타입도 문자열을 만나면 문자열 타입으로 바뀐다. 코드를 통해 String 타입의 사용법을 살펴보겠다. package com.test01; public class MTest { static String str = "The String class represents character strings."; public sta..
Array : 같은 타입의 변수 여러개를 묶어서 사용. 처음 생성 시 크기가 정해진다. 같은 자료형의 변수 여러 개를 하나의 묶음으로 만들어 하나의 이름으로 다루는 것을 배열이라고 한다. 데이터를 저장하기 위해 여러 개의 변수를 선언할 수도 있지만 관리해야 하는 변수가 많아지면 코드가 매우 복잡하고 많아지게 된다. 이러한 경우 하나의 배열이름으로 여러 개의 변수들을 다룰 수 있으면 코드를 간단하게 처리할 수 있게 된다. 자바에서는 배열 공간은 자유 메모리 영역인 Heap 영역에 할당하도록 지정되어 있으며, 배열변수는 할당된 배열공간의 주소를 저장하며, 배열공간의 주소를 이용해 인덱스(순번, index)를 참조하는 방식으로 값들을 처리하도록 정해두었다. 1. Array 의 선언과 생성 배열의 선언 : 배열..
java.lang.Math : Math.random(); MIN ~ MAX 까지 랜덤 숫자를 출력하자(int) (int)(Math.random() * (MAX - MIN + 1)) + MIN; START값부터 X 개를 출력하자(int) (int)(Math.random() * X) + START; java.util.Random : Random r = new Random(); 0~NUM-1 까지 출력하자 r.nextInt(NUM); // 0
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net #include #include #include #include #include using namespace std; int N, M; int direct[4][2] = { {1,0},{-1,0},{0,1},{0,-1} }; vector Map; void BFS() { queue Q; Q.push(make_pair(0, 0)); while (!Q.empty()) { pair know = Q.front(); Q.pop(); for..
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수 www.acmicpc.net BFS 풀이 - 메모리 초과 #include #include #include #include int direct[4][2] = { {1,0},{-1,0},{0,1}..
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. www.acmicpc.net #include #include #include//bfs 너비우선탐색 #include//dfs 깊이우선탐색 vector vec[1001]; int check[1001];//방문체크 배열 void dfs(int x) { if (check[x])return; check[x] = true; ..
- Total
- Today
- Yesterday
- MVC
- 객체지향
- 다형성
- Delete
- 캡슐화
- ojdbc6.jar
- INSERT
- 객체
- Oracle
- .
- jdbc
- Scott/Tiger
- java 환경설정
- java
- JdbcTemplate
- controller
- OOP
- select
- 상속
- JDBC 프로그램 작성단계
- view
- Update
- model
- 추상화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 27 | 28 | 29 | 30 | 31 |