객체지향 3

SRP와 DIP

SRP (single Response Principle) 단일 책임원칙 객체지향 프로그램에서의 책임 책임 -> 행위(메서드)를 뜻한다. 단일 책임원칙이 필요한 이유는 책임을 단순하게 분리해서 유지보수가 훨씬 수월하도록 설계하는 것이다 한 가정에 엄마 아빠 딸이 있다면 엄마 혼자서 요리, 빨래, 청소를 다 하면 빨래에 문제가 생겼을 때 엄마의 코드를 다 수정해야 하는 경우가 발생할 수 있다. 그래서 엄마는 요리만 하고 아빠는 청소만 하고 딸은 빨래만 하도록 설계하는 것이다. 그러면 청소에 문제가 생기면 아빠만 손보면 되는 것이고 빨래에 문제가 생기면 딸만 손보면 되기 때문이다. 이렇게 책임을 분리해서 관리하여서 문제가 생겼을 때 여기저기 책임을 묻는 것이 아닌 해당 문제점이 발생한 곳에만 책임을 물을 수 ..

JAVA,객체지향 2021.11.26

클래스만들기/생성자/this

패키지는. java파일의 모임이다. 1. 디폴트 접근제어자(아무 접근제어자도 명시돼 있지 않을 때) = 동일한 패키지에서만 접근 가능 2. public 접근 제어자 = 모든 곳에서 접근할 수 있다. 3. private 접근 제어자 = 동일한 클래스에서만 접근 가능 4.protected 접근제어자 = 패키지 내의 클래스 또는 해당 클래스를 상속받은 외부 패키지의 클래스에서 접근 가능 클래스 = class = 설계도 class= 설계도 이기 때문에 강아지 클래스를 만들어보는데 이때 강아지의 종류인 type필드는 변경해서는 안되기 때문에 final이라는 키워드를 사용해서 변경할 수 없도록 해주었다. 하지만 클래스에서 필드를 저렇게 초기화시켜 줘 버리면 해당 클래스는 위와 같은 특징을 가진 강아지 한 마리만 만..

JAVA,객체지향 2021.11.20

JAVA기본 메모리 운영

메모리에 올라갔다는 것은 사용할 수 있다는 뜻이다. 메모리에는 크게 세가지 영역이 있다 static, hip, stack 영역이 있다. . java파일을 컴파일할 때는 os가 아닌 jvm이 이해할 수 있는 데이터로 컴파일해준다. jvm만 운영체제에 맞춰주면 되는 것이다. jvm이 하는 일 1. 제일 먼저. class파일 로드한다 2. 모든 class파일 중에 static이라고 적혀있는 것들을 다 찾아서 메모리에 올려놓는다. 이 메모리 공간이 static공간이라고. 3. 이때 각 클래스마다 방을 나눠서 static공간에 둔다. 그래서 최초에 한번 static 하나만 띄울 수 있다. 4. new연산자를 사용하면 그 클래스에 static이 아닌 것만 다 올려준다. 개발자가 메모리에 직접 올릴 수 있다는 뜻. ..

JAVA,객체지향 2021.07.15