프로그래머를 위한 첫걸음 JDBC Lecture 001 BY MINIO 2016.03.
오늘 배울 내용 다음 시간까지 준비사항 - JAVA Bean 이란?? - 클래스란 - 객체 지향 프로그래밍 - 개인 노트북 (JDK/이클립스 설치/mySQL설치) JAVA 프로그래밍이 가능하도록!! - 궁금한 점은 여기로!!(자기반 탭에 적기!!!) https://docs.google.com/spreadsheets/d/1PhAv65hKpkl2Z21uueh9grxebSCQHvd0_cjPtDi7BWo/edit#gid=0 BY MINIO 2016.03.
JAVA Bean이 뭘까요? 한번 이야기 해볼까요?^^
어떤 것이 JAVA Bean일까요? public class JavaBean{ public int age = 0; public void JavaBean(int age) { this.age = age; } public int calcGrade(int age){ if(age==17) return 1; if(age==18) return 2; return 3; } public class JavaBean{ private int age = 0; public int getAge() { return age; } public void setAge(int age) { this.age = age; public class JavaBean{ public int age = 0; public int getAge() { return age; } public void setAge(int age) { this.age = age; public int getAge() {
어떤 것이 JAVA Bean일까요? 1. 맴버변수는 반드시 private !! 2. 각각의 맴버 변수는 get/set매소드가 존재!! (ex) public int getAge() , public void setAge(int age) (cf) boolean 은 get 대신 is매소드 가능 3. 생성자에는 매개변수가 존재하지 않아야함 4. 클래스 접근제어 public, get/set public
현재 여러분이 쓰고 있는 클래스가 바로 JAVA Bean 입니다. 1. 맴버변수는 반드시 private !! 2. 각각의 맴버 변수는 get/set매소드가 존재!! (ex) public int getAge() , public void setAge(int age) (cf) boolean 은 get 대신 is매소드 가능 3. 생성자에는 매개변수가 존재하지 않아야함 4. 클래스 접근제어 public, get/set public 현재 여러분이 쓰고 있는 클래스가 바로 JAVA Bean 입니다.
객체지향은 무엇일까요? 한번 이야기 해볼까요?^^
작업자는 순서대로(절차대로) 만들면 됩니다 자동차를 만든다고 생각해볼까요 엔진 핸들 바퀴 의자 작업자는 순서대로(절차대로) 만들면 됩니다
고객이 새로운 자동차를 원하기 시작합니다. 기획자가 기획안을 가져옵니다… 자동차를 만든다고 생각해볼까요 엔진 핸들 바퀴 의자 작업자는 순서대로(절차대로) 만들면 됩니다 고객이 새로운 자동차를 원하기 시작합니다. 기획자가 기획안을 가져옵니다…
ㅡ_ㅡ;;;; 아…ㅆㅂ… 기획자…이 망할… (이미 사장 결재를 받았다고 버팁니다…만들어야겠어요..)
기획자의 헛소리에도 우리 착한 개발자들은 힘을 모아 멋진 자동차를 만들기 시작합니다 근데 시간이 지나니 문제가 생겼어요….. 대신 기획자한테 사람을 늘려달라고 하고 계획을 세웁니다 작업자A 작업자B 작업자C 작업자D 작업자E 작업자F 작업자G 작업자H 엔진 핸들 프레임 에어백 운전석 음향 네비 자동주행 작업자I 꼬리날개 앞바퀴 뒷바퀴 앞유리 옆유리 배출구 테스트 그 외 수많은 작업자들….. 기획자의 헛소리에도 우리 착한 개발자들은 힘을 모아 멋진 자동차를 만들기 시작합니다 근데 시간이 지나니 문제가 생겼어요…..
그리고 가장 문제인건….. 앞사람이 빨리 일을 안해서 기다리고 있어요 난 핸들만 만들면 되는데 자꾸 앞사람이 만든 본체에 끼우려고 하니깐 문제가 생겨요 앞사람하고 자꾸 이문제로 얘길 하는데 난 핸들 전문가인데 내가 못알아 듣는 얘기만 하고 있어요. 내가 만든 건 완벽한데 자꾸 머가 안된다고 뒷사람이 난리네요.-_-;; 그리고 가장 문제인건…..
다 만들고 났는데 자동차가 움직이질 않고 다들 자기 잘못이 아니라고 하는 거죠..
분명 범인은 니들 중에 하난데 말입니다..-_-;;
일을 객체 단위로 나눈 다음에 그래서 생각해낸 것이 객체 지향입니다!!! 작업자 작업자 엔진 프레임 작업자 작업자 앞바퀴 뒷바퀴 자동주행 작업자 네비 핸들 페달 작업자 작업자 작업자 앞유리 옆유리 꼬리날개 ABS 에어백
출력 테스트 프레임 테스트 주행 테스트 시스템 테스트 주행 테스트 공기저항 테스트 안전 테스트 충격 테스트 각자 테스트를 합니다 그래서 생각해낸 것이 객체 지향입니다!!! 출력 테스트 프레임 테스트 작업자 작업자 엔진 프레임 주행 테스트 시스템 테스트 주행 테스트 작업자 작업자 앞바퀴 작업자 뒷바퀴 자동주행 네비 핸들 페달 공기저항 테스트 안전 테스트 충격 테스트 작업자 작업자 작업자 앞유리 옆유리 꼬리날개 ABS 에어백
그래서 누가 잘못했는지 잡아낼 수도 있고!!!!
각자 일을 나눠서 할 수 있는거죠 하지만 이것뿐만이 장점은 아닙니다.
객체 지향의 특성 캡슐화 (일을 객체 단위로 묶어서 각자 일을 신경 쓰지 않아도 되요 옆사람이 얼마나 했는지 뭘 하는지 몰라도 되요 테스트도 내꺼만 하면 되서 너무 좋아요~) 상속 (객체 단위로 묶다보니 공통된 특성이 있고 이걸 공통된 점을 따로 정리해놓으니깐 인터페이스가 되요) 다형성 (개념적으로 동일한 작업을 하는 함수에게 똑같은 이름을 부여할 수 있어요(네요.-_-;; 일단 여러분은 캡슐화로 생기는 장점만 확실히 알아두어도 됩니다
아직도 이해가 안되나요? 괜찮아요 계속 이야기할꺼에요
다음 시간엔 JAVA 기초 프로그래밍 (꼭 노트북에 설정해오세요^^) END