우아한 테크코스/테크코스
-
우아한 테크코스 테코톡 준비했던 자료우아한 테크코스/테크코스 2021. 4. 19. 22:25
테코톡 자료를 올리기로 했었는데, 자료를 찾지 못해 깜빡하고 있었다가 이제서야 업로드... 너무 늦은 건가 싶기도 하다. 처음에는 뭔가 만들 때 들었던 고생이 생각나서 공유하지 않으려고 했지만, 공유한다고 고생이 사라지는 것도 아니고, 누군가는 PPT던 내용이던 배워갈 수도 있는 거라는 생각이 들었다. 그리고 나도 누군가가 공유해주는 무언가를 보고 배우는 그런 선순환구조...(???)..... 움켜쥐고 있어봐야 아무것도 달라지는 건 없으니.. PPT 모핑이라던가 효과를 물어보는 분들도 꽤 계셨기 때문에, 도움이 되길 바라며 올려보기... 아래껀 테코톡 만들기 위한 템플릿.. 이것도 혹시 필요한 분이 계실까 올려본다. 기본적으로 배민에서 제공하는 서체를 이용했기 때문에 폰트들을 받아놓을 것. 배달의민족 한..
-
[객체지향] 5대원칙 SOLID우아한 테크코스/테크코스 2020. 3. 21. 13:10
SOLID - 객체지향 5대원칙 SOLID 원칙 - 유지보수와 확장이 쉬운 소프트웨어를 만드는데 적용할 수 있음 SRP(Single Responsibility Principle) - 단일 책임 원칙 OCP(Open-Close Principle) - 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) - 리스코프 치환 원칙 DIP(Dependency Inversion Principle) - 의존 역전 원칙 ISP(Interface Segregation Principle) - 인터페이스 분리 원칙 Single Responsibility Priciple - 단일 책임 원칙 모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임을 완전히 캡슐화해야 함. 클래스가 제공하는 모든 기능은 ..
-
3, 4주차 리뷰우아한 테크코스/테크코스 2020. 3. 16. 22:28
페어 : 동글 / 리뷰어 : 화투님 :) 메서드는 명시적으로 명명 getCount()보다는 getUserCount()라는 식으로 명시적으로 명명하기 예외처리는 적재적소에 하기 aMethod()가 bMethod()를 호출하여, bMethod()의 예외에 걸리더라도, 해당 예외의 내용 자체가 aMethod()의 것이라면 aMethod()에 예외처리를 하는 것이 맞음 말이 조금 어려웠을 수 있지만, 예외처리를 굳이 맨 끝단에 두지 않고, 꼭 필요한 곳에 해야된다는 것을 유념하기 값 객체의 경우 equals()와 hashCode()를 모두 정의해주기 이팩티브 자바를 참고해보면 equals()와 hashCode()는 같이 정의를 해줘야된다고 나옴. 값 객체인 경우 두 메서드 모두 정의해줄 것 자료구조를 적절히 사..
-
[Java] 단위 테스트 명명규칙우아한 테크코스/테크코스 2020. 3. 16. 21:13
1. MethodName_StateUnderTest_ExpectedBehavior 명명 메서드명_테스트상태_기대행위 특징 코드 리팩토링의 일부로 메서드 이름이 변경되면 테스트 이름을 변경해야 함 예시 isAdult_AgeLessThan18_False - withdrawMoney_InvalidAccount_ExceptionThrown - admitStudent_MissingMandatoryFields_FailToAdmit 2. MethodName_ExpectedBehavior_StateUnderTest 명명 메서드명_기대행위_테스트상태 특징 첫 번째와 앞/뒤만 다름. 단점은 위와 동일 예시 - isAdult_False_AgeLessThan18 - withdrawMoney_ThrowsException_IfA..
-
[객체지향] 다형성 & 추상화우아한 테크코스/테크코스 2020. 3. 16. 20:53
객체 지향이 주는 장점 - 구현 변경의 유연함 캡슐화 외에도 유연함을 얻을 수 있도록 해주는 방법이 있는데, 이는 추상화이다. 상속(Inheritance) 한 타입을 그대로 사용하면서 구현을 추가할 수 있도록 해주는 방법을 제공 상속 대상 클래스 - 상위(super) 클래스 / 부모(parent) 클래스 상속 받는 클래스 - 하위(sub) 클래스 / 자식(child) 클래스 하위 클래스 특징 상위 클래스에 정의된 구현을 물려받음. 언어마다 다르지만 자바(또는 다수의 언어)의 경우 private 범위를 갖는 메서드나 필드를 제외한 나머지를 물려받을 수 있음 필요에 따라 상위 클래스에 정의된 메서드를 재정의(overriding), 즉 새롭게 구현할 수도 있음. 재정의시 해당 메서드를 실행할 때, 하위 클래스..
-
[프로그래밍 패러다임] 객체 지향 프로그래밍우아한 테크코스/테크코스 2020. 3. 14. 15:31
객체의 핵심 - 기능 제공 객체(Object) : 객체 지향의 기본 - 물리적인 특징 : 데이터와 그 데이터를 조작하는 프로시저(오퍼레이션, 메서드, 함수)로 구성 - 실제로 객체를 정의할 때 사용되는 것 : 객체가 제공해야 할 기능, 내부적으로 어떤 데이터를 갖고있는지는 대상이 아님 예시) 음량 조절 기능 객체 - 제공하는 기능 : 음량 증가, 음량 감소, 음소거 - 내부적으로 소리 크기를 어떤 데이터 타입이나 값으로 보관하고 가지고 있는지는 중요하지 않음 - 또한 기능이 어떻게 구현되어있는지, 즉 어떻게 소리가 증감되는지는 알 수 없음 보통 객체가 제공하는 기능을 오퍼레이션(operation)이라 함, 즉 객체는 오퍼레이션으로 정의 인터페이스와 클래스 객체가 제공하는 기능을 사용하는 것 : 객체의 오..