Language
객체지향 언어의 특징 2_상속 (재사용 + 확장)
| 상속 (재사용 + 확장) - 부모 - 자손의 상속 관점 보다는, 재사용과 확장으로 접근하는 것이 좋다 - 상속은, 상위 클래스의 특성을 하위 클래스에서 재사용하고, 거기에 덧붙여 확장할 수 있는 것을 말한다. - 관계 : 상위 - 하위 / 슈퍼 - 서브 * 상위로 갈수록 추상화, 일반화되며 * 하위로 갈수록 구체화, 특수화된다. - 상속을 표현하는 문장 구분 - 설명 포함 has a 클래스 내에서 인스턴스를 형성하여 사용 상속 is a kind of 클래스를 extends (확장하다) 구현 is able to 인터페이스를 implements (구현하다) - 오버라이딩 : 상속 관계에 있는 상위 클래스로부터 물려 받은 메소드를 재정의한 것 | 상속의 장단점 장점 - 모듈화*를 통한 재사용 - 유지보수가..
객체지향 언어의 특징 1_추상화 (모델링)
| 추상화 (모델링) - 현실 세계의 객체에서 필요한 부분만 뽑아 클래스로 만드는 작업을 말한다. 추상화란 구체적인 것을 분해하여 관심 영역에 있는 특성만 가지고 재조립하는 것(= 모델링) [출처] 스프링 입문을 위한 객체 지향의 원리와 이해 | 추상화가 모델링인 이유 관심 영역(앱의 경계)에 따라 클래스 모델링이 달라진다. - 현실 세계에서 물리적으로는 동일한 실체에 대해서도 관심 영역(여기서는 애플리케이션에 적용할 영역)이 어디냐에 따라서, 클래스 모델링이 달라진다. Ex. 사람(객체)을 동물로 본다면 "다리 갯수", "자손 생식 방식" 등을 보겠지만, 고객으로 본다면 "연령대", "지출금액" 등을 볼 것이다. | 추상화의 예시 [1] 상속을 통한 추상화와 구체화 - 상속 관계에서 상위 클래스로 올라..
객체지향 프로그래밍이란?
| 객체지향 프로그래밍 / 절차지향 프로그래밍 절차 지향 프로그래밍(PP) 객체 지향 프로그래밍(OOP) 특징 일련의 동작(모듈, 함수)를 순차적으로 실행 객체(속성 + 기능) 간의 상호작용을 이용 포커스 명령어의 순서와 흐름 데이터의 속성(필드)과 기능(메서드) 장점 컴퓨터의 처리구조와 비슷해 속도가 빠르다 재사용성(상속), 유지보수 용이, 자연스러운 모델링* 단점 규모가 커질 수록, 추가 개발 및 유지보수 어려움 느린 개발 속도와 실행 속도. 높은 난이도 * 객체지향 프로그래밍은 하나의 방법론이지, 그것이 언어나 제품을 의미하는 것은 아니다. * OOP나 PP 외에 CBD(Component-based development), SOA(Service-orient development)등 프로그래밍 방법론..
자바 설치부터 제어문까지 기본 핵심 복습
| 개발 환경 구축 (1) 자바 환경 구축 - 자바는 JVM을 통해 모든 플랫폼(OS)에서 독립적으로 작동한다. - 오라클사에서 JDK를 다운할 수 있다.(또는 openJDK 사용) 설치 사이트 바로가기 - 명령프롬프트(CMD)로 설치 환경 확인 HTML 삽입 미리보기할 수 없는 소스 - 시스템 환경 변수 설정 변수명 경로 예시 Path java.exe가 있는 경로 %JAVA_HOME%\bin JAVA_HOME jdk폴더 경로 C:\myDev\jdk1.8.0_333 rf. 코딩 폰트 설치하기 : d2coding, jetbrains mono 폰트 rf. 맥에서 자바 설치하기 : [1] homebrew 설치 [2] 터미널에서 자바 설치 더보기 [ 시스템 환경 변수 - Path는 왜 넣는 걸까? ] 운영체제(..
[객체지향프로그램] 응집도와 결합도
■ 응집도와 결합도 https://medium.com/@jang.wangsu/%EC%84%A4%EA%B3%84-%EC%9A%A9%EC%96%B4-%EC%9D%91%EC%A7%91%EB%8F%84%EC%99%80-%EA%B2%B0%ED%95%A9%EB%8F%84-b5e2b7b210ff [설계 용어] 응집도와 결합도 High Cohesion, Low Coupling, 응집도와 결합도 라는 설계관련 용어는 프로그래밍에 익숙하지 않은 사람들에게는 쉽게 익숙해지기가 처음에는 어려울 것 같아요. medium.com - 자바 스터디 그룹에서 매일 배운 내용을 돌아가며 요약하고 발표하고 있다. - 최근 인터페이스를 다루었었는데, 그 때 응집도와 결합도에 대한 이야기가 나왔다. 정확히 무슨 말인지 이해가 가지 않았는데,..
[DATABASE] PL/SQL 프로시져
■ 프로시저란? - 어떤 업무를 수행하기 위한 절차로 자주 쓰는 명령을 절차적으로 지정해둔 형태 ■ 함수와 프로시져의 차이점 https://mjn5027.tistory.com/47 [ Oracle ] 프로시저와 함수의 차이 오라클을 사용하다보면 자주 접하게 되는 프로시저와 함수. 이 둘의 정의와 차이점에 대해 알아보자. 프로시저(Procedure)란? 넓은 의미로는 어떤 업무를 수행하기 위한 절차를 뜻한다. 예를 mjn5027.tistory.com ■ 프로시져 코딩 예시 -- 수정 create or replace procedure book_update(v_name IN varchar2, v_price IN number, v_idx IN number) is begin UPDATE book SET n..
[이클립스] 프로젝트의 JDK 버전 변경하기
■ 컴파일러 버전 바꾸기 - [프로젝트] - 오른쪽마우스 - [Properties] - [Java Compiler] - 체크를 풀어주고, 버전을 변경한다. ■ Facet도 같이 바꿔야한다.
[DATABASE] MVC 모델 구현 _ 성적 관리 프로그램
■ MVC 모델이란? https://m.blog.naver.com/jhc9639/220967034588 구분 내용 모델 애플리케이션의 데이터를 담고 CRUD하는 객체 (DAO 객체) 뷰 데이타를 기반으로 사용자들이 볼 수 있는 화면 컨트롤러 데이터와 사용자인터페이스 요소들을 잇는 다리역할 [개발자 면접준비]#1. MVC패턴이란 오늘은 개발자면접에 많이 나오기도 하는 MVC패턴에 대해서 알아보고자 합니다. 과연 MVC패턴이 무엇... blog.naver.com
[DATABASE] 자바를 통한 DB 모듈화
■ DB 모듈화 전체 구성 * 화살표 방향은 무시하고 전체적인 흐름만 보세요. ■ Connection(서버연결) 관리 객체 드라이버를 로딩하고, DB 서버와 연결하는 객체 - DAO가 Connection 관리 객체에게 DB 연결 곧, Connection을 요청하면, Connection 인스턴스를 DAO에게 전달한다. [코드 예시] package service; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBservice { static { try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNo..