TIL(2022.02.21)

조지성·2022년 2월 21일
0

TIL

목록 보기
36/78
post-thumbnail

SRP와 DIP 개념

SRP : Single Response Principle (단일 책임 원칙)

  • 책임 -> 행위 -> 메서드

DIP : Dependency Inversion Principle (의존성 역전 원칙)

  • 추상적인 것에 의존해야 한다

SRP와 DIP를 지키면 코드의 수정이 편하다

SRP와 DIP 실습

package ch05;

interface CanAble{
	public abstract void talk();
}

abstract class 홀직원 implements CanAble{
	abstract void 청소();

	@Override
	public void talk() {
		System.out.println("손님과 대화하기");
	}
	
	
}

abstract class 종업원 extends 홀직원{
	void 서빙하기() {
		System.out.println("서빙하기");
	}
	void 주문받기() {
		System.out.println("주문받기");
	}
}

abstract class 캐셔 extends 홀직원{
	void 정산하기() {
		System.out.println("정산하기");
	}
	void 계산하기() {
		System.out.println("계산하기");
	}
}

abstract class 요리사{
	abstract void 요리();
}

class 홍길동 extends 종업원{ 
	
	요리사 j; // 의존성 역전 원칙
	
	@Override
	void 청소() {
		System.out.println("화장실");
		
	}
	
}
class 임꺽정 extends 종업원{

	@Override
	void 청소() {
		System.out.println("주방");
		
	}
	
}
class 김유신 extends 캐셔{

	@Override
	void 청소() {
		System.out.println("홀청소");
		
	}
	
}
class 이몽룡 extends 캐셔{

	@Override
	void 청소() {
		System.out.println("테이블");
		
	}
	
}
class 장보고 extends 요리사{

	@Override
	void 요리() {
		System.out.println("양식");
	}
	
}
class 이순신 extends 요리사{

	@Override
	void 요리() {
		System.out.println("한식");
	}
	
}

public class OOPEx10 {

}

인터페이스 연습

package ch05;

interface RemoconAble{
	public void 초록버튼();
	public void 빨간버튼();
}

class Samsung implements RemoconAble{

	@Override
	public void 초록버튼() {
		System.out.println("전원이 켜졌습니다.");
	}

	@Override
	public void 빨간버튼() {
		System.out.println("전원이 꺼졌습니다.");
	}
	
}

class LG implements RemoconAble{

	@Override
	public void 초록버튼() {
		System.out.println("전원이 커졌습니다.");
	}

	@Override
	public void 빨간버튼() {
		System.out.println("전원이 꺼졌습니다.");
	}
	
}

public class Example01 {
	public static void main(String[] args) {
		Samsung s1 = new Samsung();
		
		LG l1 = new LG();
	}
}

배열

연관된 데이터를 저장하기 위한 자료구조

특징

  • 연속된 공간이필요
  • 데이터 읽기가 빠르다
  • 시작번지만 바라본다
  • 0번지부터 시작한다.
package ch06;

public class ArrayEx06 {
	public static void main(String[] args) {
		int[] nums = {4,5,6};
		
		System.out.println(nums[0]);
		System.out.println(nums[1]);
		System.out.println(nums[2]);
	}
}
profile
초보 개발자의 성장기💻

0개의 댓글