본문 바로가기

공부/JAVA객체지향

(4)
객체지향 설계 5원칙 Chapter5 객체지향 설계 5원칙 5.1 SRP - 단일 책임 원칙 어떤 클래스를 변경해야 하는 이유는 오직 하나 뿐이다. 하나의 클래스에 역할가 책임이 너무 많으면 안된다. 그래서 책임에 따라 여러개의 클래스로 쪼개야한다. 단일 책임의 원칙은 속성, 메서드, 패키지, 모듈, 컴포넌트, 그리고 프레임워크 등에도 적용될 수 있는 개념이다. package srp.bad; public class 강아지 { final static Boolean 숫컷 = true; final static Boolean 암컷 = false; Boolean 성별; void 소변보다() { if (this.성별 == 숫컷) { // 한쪽 다리를 들고 소변을 본다. } else { // 뒤다리 두 개로 앉은 자세로 소변을 본다. }..
자바가 확장한 객체 지향 Chapter 4 자바가 확장한 객체 지향 4.1 abstract 키워드 - 추상 메서드와 추상 클래스 추상 메서드: 선언부는 있는데 구현부가 없는 메서드 추상 클래스는 객체를 만들 수 없다. 추상메서드는 하위 클래스에게 메서드 구현을 강제한다. 오버라이딩 강제. 추상메서드를 포함하는 클래스는 반드시 추상 클래스여야한다. 4.2 생성자 package constructor01; public class 동물 { } 위와 같이 생성자를 생성하지 않아도 기본생성자를 만들어 준다. package constructor03; public class 동물 { public 동물(String name) { System.out.println(name); } } 이렇게 인자가 있는 생성자 하나라도 만들면 자바는 기본 생성자를..
자바와 객체 지향 Chapter3 자바와 객체 지향 3.1 객체 지향은 인간 지향이다. 0과 1로 대변되는 기계에 맞춰 사고하던 방식을 버리고 현실세계를 인지하는 방식으로 프로그램을 만들고자 한게 객체 지향 방식, 따라서 직관적이다. 3.2 객체 지향의 4대 특성 - 캡! 상추다 캡 상추다 캡: 캡슐화 - 정보은닉 상: 상속 - 재사용 추: 추상화 - 모델링 다: 다형성 - 사용 편의 3.3 클래스 vs 객체 = 붕어빵틀 vs 붕어빵 ??? 클래스=붕어빵틀, 객체=붕어빵은 잘못된 개념이다 붕어빵틀이 붕어빵을 찍어내서 클래스라고 한다면 같은 논리로 금형기계는 붕어빵틀을 찍어내는 클래스가 된다. 금형기계 붕어빵틀 = new 금형기계() 이걸 인간적인 말로 해석하면 새로운 금형기계를 하나 만들었더니 붕어빵들이 되었다. 라는 이..
자바와 절차적/구조적 프로그래밍 Chapter2 자바와 절차적/구조적 프로그래밍 2.1 자바프로그래밍의 개발과 구동 JDK, JRE, JVM 자바 개발 도구인 JDK를 이용해 개발된 프로그램은 JRE에 의해 가상 컴퓨터인 JVM 상에서 구동된다. JDK : 자바 개발 도구 , 개발자는 JDK를 이용해 프로그램을 개발한다. JRE : 자바 실행 환경, 가상 컴퓨터인 JVM을 제어하는 운영체제 JVM : 자바 가상 기계, 운영체제에 영향을 받지 않고 중재자로서 각 플랫폼에서 프로그램을 구동 프로그램이 메모리를 사용하는 방식 메모리에는 코드 코드 실행 영역, 스태틱 영역, 스택 영역, 힙 영역이 들어있음. 2.2 자바에 존재하는 절차적 /구조적 프로그래밍의 유산 절차적 프로그래밍이란 : goto 를 쓰지 말라는 것 goto를 사용하게 되면 ..