전체 글(121)
-
객체 지향 프로그래밍(Object Oriented Programming)3 - 상속(Inheritance)
상속 부모 클래스의 멤버를 자식이 물려받아 정의하여 코드의 재사용이 가능한 것 상속하는 클래스 - 부모 클래스, 수퍼 클래스, 상위 클래스 상속 받는 클래스 - 자식 클래스, 서브 클래스, 하위 클래스 특징 코드의 절감 - 기존 코드의 멤버를 물려받음 유지 보수성 향상 - 부모의 코드를 변경하면 자식에게 모두 적용 단일 상속 - 자식은 단 하나의 부모에게만 상속을 받을 수 있음 extends키워드를 통해 상속 받음 상속의 관계는 is a 라고 한다 - Tiger is a Animal super카워드를 통해 조상 클래스 멘버에 접근 //부모 클래스 public class Animal{ void eat(){} void poo(){} void cry(){} } //extemds키워드로 상속 받음 //부모의 모..
2021.10.30 -
객체 지향 프로그래밍(Object Oriented Programming)2 - 추상화(Abstraction)
현실의 객체가 갖는 속성과 기능은 추상화(abstraction)되어 클래스에 정의된다 클래스는 구체화 되어 프로그램의 객체(instance, object)가 된다. 클래스(class) 객체를 정의해 놓은 것, 틀, 설계도 객체를 생성할 때 사용 데이터 타입 관련 있는 변수와 함수를 묶어서 만든 사용자 정의 자료형 객체(instance, object) 클래스를 구체화 한 것 실제로 동작하는 것 메모리에 생성된 데이터 객체 생성과 메모리 - JVM의 메모리 구조 class area 클래스 원형 로딩 Field 정보 Method 정보 타입 정보 상수 풀 method stack 메서드들 실행 공간 thread별로 별도 관리 메서드 호출 순서대로 쌓임(후입선출) 메서드 프레임에 로컬 변수도 쌓임 로컬변수는 선언된..
2021.10.26 -
객체 지향 프로그래밍( Object Oriented Programming)1
객체(Object) 물리적으로 존재하거나 추상적인 것 중, 자신의 속성과 동작을 가지는 모든 것 우리 주변에 있는 모든 것 예: 인간, 개, 고양이, 객체 지향 프로그래밍 주변의 것들을 객체와 해서 프로그래밍 하는 것 객체들 간 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법 객체 지향 프로그래밍 장점 블록 형태의 모듈화된 프로그래밍 1. 코드 재사용성이 용이하다 이미 만들어진 클래스를 이용 상속을 통한 확장 2. 유지보수가 쉽다 수정할 부분이 클래스 내부에 멤버변수 혹은 메서드로 존재 3. 대형 프로젝트에 적합 클래스 단위로 모듈화 되어있어, 역할 분담이 쉬움 4. 신뢰성 높은 프로그래밍 가능 개발자가 만든 데이터를 사용 5. 실제 세계에 대한 쉬운 모델링 실 세계의 모든 것을 객체로 여김 객..
2021.10.26 -
BOJ_20056_마법사 상어와 파이어볼
1 구분: 구현, 시뮬레이션 언어: Java 전략: 큐에 있는 것들은 이동을 할 공들 ArrayList[][]에 있을 것들 - 공이 이동하고, 여러 개의 공이 있을 수 있기 때문에 ArrayList 2차원 배열을 생성 이동 시키기 - 모듈러 연산을 이용해서 간단하게 구할 수 있다. 좌표, 질량, 속력, 방향을 가지는 자료구조를 만든다 1. 처음의 공들을 입력 받아 큐에 넣는다 - 이때 좌표 주의! 2. 큐에 있는 공들을 큐가 빌 때까지(한 번 비워지는게, 실행 1번 한것) 공을 꺼내서 이동시킨다 3. 이동: 이동한 위치 = 처음 위치 + dx[방향] * (속력%전체 칸의 수) 음수인 경우를 대비해: 이동한 위치 = (전체 칸 수 + 이동한 위치 ) % 전체 칸 수 4. 같은 자리에 여러 개가 있는 경우 ..
2021.10.23 -
BOJ_17144_미세먼지 안녕!
1 구분: 구현 언어: Java 전략 1. 먼지의 좌표와 먼지 양을 담을 클래스를 생성 2. 먼지를 큐에 담고, 4방을 탐색하며, 먼지를 확산시킨다. 단!! 먼지가 동시에 확산된다는 점을 잊지 말아야 한다 3. 공기 청정기 작동 - 하나하나 그림을 바탕으로 칸을 이동한다. 2. 코드 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { //먼지의 좌표와 먼지를 담을 class static class Point{ int y, x, dust; Point(int y, int x, int dust){ this.y = y; this.x = x; this.dust = dust; } } stat..
2021.10.21 -
MVC(Model - View - Controller)
MVC패턴 Model - View - Controller 디자인 패턴 중 하나 화면(출력을 위한 view(html)) 화면단과 로직 처리(java)가 분리되어 있다 분업이 용이 유지보수, 확장성이 뛰어나다 구조가 복잡하다 개발 시간 및 비용 증가 Model - logic처리(Business logic, Database logic) - 무엇을 - Service, Dao, Java Beans View - 보여지는 것. 화면을 처리 - 클라이언트의 요청에 대한 결과처리 - Controller에 요청을 보내는 화면 처리 - JSP Controller - 클라이언트의 요청을 분석, 처리 - view와 model을 연결, 중앙 관제탑 역할 - 어떻게 - Servlet 출처 https://m.blog.naver.co..
2021.10.18