많이 알면 알수록 세미나도 가고 할수록, 기회는 더 많아짐. 개인의 성향에 맞는 IT분야가 각각 있음. 보수적인 분야 (금융), 역동적인 분야 각각 모두 존재. 마케팅, 영업 등등 원하는 성향에 따라 선택지가 다양함. 전공자 비전공자 상관없이 10년 가면 월 1,000은 나온다..? 지금부터 대기업 전무가 되겠습니다 하는건 불가능 (2억). 5년 정도 빡세게 배운 뒤 비전공자도 회사 설립이 가능. IT는 재밌는 것이 코딩이 전부가 아니다. 코딩을 잘하는 사람은 그 분야로 나가면 되는 것이고. 그 외에도 자신의 전공과 가진 전문성과 연계해서 발전시킬 수 있는 부분들이 각각 있음.
1차 프로젝트 진행중
- 부품!!
각 class의 역할을 명확히 나눌 필요가 있음.
UI -------------- DAO, DTO ---------------- DBMS
- 메소드!!
기능을 처리 (입력값) ---> 반환값
자바 - 상속 (재사용) : inheritance
집을 상속하는 개념 (지붕이 초록색~)
인터넷 페이지 처리(Page) : class사용하고자 한다.
상속을 개념 Mypage extends Page

UML
class를 하나로 통일해서 그림을 그린 방법 사용
Unified Model Language (UML)
Class Diagram
자바의 over ! // KT기술면접에 나왔다고 함.
--------------------------
override: 오버라이드, 재정의
상속 받았을 때 기능을 재정의하는 경우 사용
overload : 오버로드, 다형성
하나의 이름으로 여러개의 기능을 부여하는 경우 사용
- 메소드의 이름을 동일하게 쓸 수 있다.
- 하나의 이름으로 다양한 형태를 구현할 수 있는 기능
1. 오버로딩이란?
ㄴ 하나의 이름으로 여러개의 기능을 부여하는 것
2. 오버라이딩이란?
ㄴ 상속 받았을 때, 기능을 재정의 하는 것
3. 오버로딩와 오버라이딩의 차이는?
ㄴ 오버라이딩은 재정의 하여 이전의 기능 위에 덮어쓰기 됨. 오버로딩은 조건에 따라 여러기능을 모두 사용 가능.
4. 단일상속이란?
ㄴ 자식은 하나의 부모만 가질 수 있다는 것을 의미
5. 상속이란?
ㄴ 클래스 사이의 관계를 부모-자식관계로 묶어서, 자식클래스가 부모클래스의 변수, 메소드를 사용가능하게 함.
6. 다차원상속이란?
ㄴ 상속의 상속을 거듭할 수 있다. 상속->상속->상속
7. 수퍼클래스란?
ㄴ위에 위치하는 클래스. 넓은 개념
8. 서브클래스란?
ㄴ아래에 위치하는 클래스, 좁은 개념
9. 부모, 자식 클래스를 나타내는 키워드는 각각?
ㄴ 부모 super, 자식 this
10. 부모, 자식 중 누가 더 일반적인 특징을 가지고 있는가?
ㄴ 부모
package 상속재사용;
public class Person { //사람
//성질, 동작 (변수와 메소드)
String name;
int age;
public void talk() {
System.out.println("말을 하다.");
}
public void think() {
System.out.println("생각하다.");
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
package 상속재사용;
public class Man extends Person {
//성질(2), 동작(2)
int power;
public void wild() {
System.out.println("거칠다.");
}
@Override
public String toString() {
return "Man [power=" + power + ", name=" + name + ", age=" + age + "]";
}
}
package 상속재사용;
public class SuperMan extends Man { //public final class라고 쓰면 종단 클래스가 됨. (더 이상 상속이 불가능)
//성질(3), 동작(3)
String cloth;
public void fly() {
System.out.println("하늘을 날다.");
}
@Override
public String toString() {
return "SuperMan [cloth=" + cloth + ", power=" + power + ", name=" + name + ", age=" + age + "]";
}
}
package 상속재사용;
public class SuperManUser {
public static void main(String[] args) {
SuperMan s = new SuperMan();
s.cloth = "빨강"; //superman
s.power = 100; //man
s.name = "클라크"; //person
s.age = 300; //person
System.out.println(s); //참조형은 원래 주소가 찍혀야하지만 toString을 부품에 설정해놔서 자동으로 toString 메소드가 호출됨.
s.fly(); //superman
s.wild(); //man
s.talk(); //person
s.think(); //person
}
}
package 상속재사용;
public class Woman extends Person {
int eq;
public void soft() {
System.out.println("부드럽다.");
}
}
package 상속재사용;
public class WonderWoman extends Woman {
String weapon;
public void rope() {
System.out.println("밧줄을 사용하다.");
}
@Override
public String toString() {
return "WonderWoman [weapon=" + weapon + ", eq=" + eq + ", name=" + name + ", age=" + age + "]";
}
}
package 상속재사용;
public class WonderWomanUser {
public static void main(String[] args) {
WonderWoman w = new WonderWoman();
w.age = 20;
w.eq = 20;
w.name = "원더";
w.weapon = "rope";
System.out.println(w);
w.rope();
}
}
package 상속재사용;
public class Bank {
public double getInterestRate() {
return 0;
}
double interest;
}
package 상속재사용;
public class GoodBank extends Bank {
@Override //표시(Annotation), 생략가능
public double getInterestRate() {
return 3 ;
}
double interest;
@Override
public String toString() {
return "GoodBank [interest=" + interest + "]";
}
}
package 상속재사용;
public class BadBank extends Bank {
//ljy910604@naver.com //at ~에
@Override //표시(Annotation), 생략가능
public double getInterestRate() {
return 10 ;
}
double interest;
@Override
public String toString() {
return "BadBank [interest=" + interest + "]";
}
}
package 상속재사용;
public class NormalBank extends Bank {
@Override //표시(Annotation), 생략가능
public double getInterestRate() {
return 5 ;
}
double interest;
@Override
public String toString() {
return "NormalBank [interest=" + interest + "]";
}
}
package 상속재사용;
public class BankUser {
public static void main(String[] args) {
BadBank b = new BadBank();
NormalBank n = new NormalBank();
GoodBank g = new GoodBank();
System.out.println("BadBank rates: " + b.getInterestRate());
System.out.println("NomalBank rates: " + n.getInterestRate());
System.out.println("GoodBank rates: " + g.getInterestRate());
b.interest = 10.0;
n.interest = 5.0;
g.interest = 3.0;
System.out.println(b);
System.out.println(n);
System.out.println(g);
}
}
package 상속재사용;
public class Student {
public void study() {
System.out.println("ㅇㅇ");
}
}
package 상속재사용;
public class Element extends Student {
public void study() {
System.out.println("줄넘기 공부하다.");
}
}
package 상속재사용;
public class Middle extends Student {
public void study() {
System.out.println("단소 공부하다.");
}
}
package 상속재사용;
public class High extends Student {
//부모로부터 상속받은 것들 중에 좀 더 specific한 것으로 만들고 싶은 것이 있으면, 덮어써라!
//Override(오버라이드, 재정의)
public void study() {
System.out.println("미적분 공부하다.");
}
}
package 상속재사용;
public class StudentUser {
public static void main(String[] args) {
Element e = new Element();
Middle m = new Middle();
High h = new High();
University u = new University();
e.study();
m.study();
h.study();
u.study();
}
}
댓글