분류 전체보기(86)
-
Interface와 abstract의 차이
추상 클래스 abstract 클래스를 설계도에 비유한다면 추상 클래스는 미완성 설계도로 볼 수 있습니다. 추상 클래스는 추상 메소드를 0개 이상 가지고 있다는 것을 제외하고는 일반 클래스와 차이가 없습니다. 추상 클래스의 특징 추상 클래스는 인스턴스, 즉 객체를 만들 수 없는 클래스 입니다. 추상 메소드는 하위 클래스에서 메소드를 반드시 구현해야 합니다. 추상 메소드를 포함하는 클래스는 반드시 추상 클래스여야 합니다. 추상 클래스는 다중 상속이 불가능합니다. 클래스를 abstract로 지정하면 new를 통해 객체를 직접 생성할 수 없습니다. 추상 클래스를 상속 받을 경우 extends를 써야합니다. Interface 인터페이스는 구현된 것은 아무 것도 없고 밑그림만 그려져 있는 기본 설계도라고 표현할 수..
2022.02.17 -
객체지향 5원칙(SOLID) - 의존성 역전 원칙
객체지향 5원칙 올바른 객체지향 설계를 위해 수립한 원칙이 있으며, 이 다섯 가지의 원칙을 통틀어 객체지향 5원칙(SOLID)이라 명명한다. 필수로 적용하지 않지만, 적어도 이 규칙을 준수하면 준수할 수록 올바르게 설계된 객체지향이라 할 수 있습니다. 이 다섯 가지 원칙은 아래와 같습니다. 1. 단일 책임 원칙 (Single Responsibility Principle) 2. 개방 폐쇄 원칙 (Open-Closed Principle) 3. 리스코프 치환 원칙 (Liskov Substitution Principle) 4. 인터페이스 분리 원칙 (Interface Segregation Principle) 5. 의존성 역전 원칙 (Dependency Inversion Principle) 각 원칙의 영어 앞글자..
2022.02.17 -
객체지향 5원칙(SOLID) - 인터페이스 분리 원칙
객체지향 5원칙 올바른 객체지향 설계를 위해 수립한 원칙이 있으며, 이 다섯 가지의 원칙을 통틀어 객체지향 5원칙(SOLID)이라 명명한다. 필수로 적용하지 않지만, 적어도 이 규칙을 준수하면 준수할 수록 올바르게 설계된 객체지향이라 할 수 있습니다. 이 다섯 가지 원칙은 아래와 같습니다. 1. 단일 책임 원칙 (Single Responsibility Principle) 2. 개방 폐쇄 원칙 (Open-Closed Principle) 3. 리스코프 치환 원칙 (Liskov Substitution Principle) 4. 인터페이스 분리 원칙 (Interface Segregation Principle) 5. 의존성 역전 원칙 (Dependency Inversion Principle) 각 원칙의 영어 앞글자..
2022.02.15 -
객체지향 5원칙(SOLID) - 개방 폐쇄 원칙
객체지향 5원칙 올바른 객체지향 설계를 위해 수립한 원칙이 있으며, 이 다섯 가지의 원칙을 통틀어 객체지향 5원칙(SOLID)이라 명명한다. 필수로 적용하지 않지만, 적어도 이 규칙을 준수하면 준수할 수록 올바르게 설계된 객체지향이라 할 수 있습니다. 이 다섯 가지 원칙은 아래와 같습니다. 1. 단일 책임 원칙 (Single Responsibility Principle) 2. 개방 폐쇄 원칙 (Open-Closed Principle) 3. 리스코프 치환 원칙 (Liskov Substitution Principle) 4. 인터페이스 분리 원칙 (Interface Segregation Principle) 5. 의존성 역전 원칙 (Dependency Inversion Principle) 각 원칙의 영어 앞글자..
2022.02.15 -
객체지향 5원칙(SOLID) - 단일 책임 원칙
객체지향 5원칙 올바른 객체지향 설계를 위해 수립한 원칙이 있으며, 이 다섯 가지의 원칙을 통틀어 객체지향 5원칙(SOLID)이라 명명한다. 필수로 적용하지 않지만, 적어도 이 규칙을 준수하면 준수할 수록 올바르게 설계된 객체지향이라 할 수 있습니다. 이 다섯 가지 원칙은 아래와 같습니다. 1. 단일 책임 원칙 (Single Responsibility Principle) 2. 개방-폐쇄 원칙 (Open-Closed Principle) 3. 리스코프 치환 원칙 (Liskov Substitution Principle) 4. 인터페이스 분리 원칙 (Interface Segregation Principle) 5. 의존성 역전 원칙 (Dependency Inversion Principle) 각 원칙의 영어 앞글자..
2022.02.15 -
백준 2941번 풀이 node
문제 : 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳변경 크로아티아 알파벳변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다. //예제 입력 1 ljes=njak //예제 출력 1 6 //예제 입력 2 ddz=z= //예제 출력 2 3 풀이 : ..
2022.02.11