일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- git #intellij
- 몰입학습 #몰입
- 코딩테스트
- 회고
- 피드백
- 회고록_코드스테이츠
- 백엔드로드맵
- JAVA기본
- String
- jvm
- 네트워크 기초
- 시작 #꾸준히 #과하지않게
- WSL2 #권한
- 에러해결
- mapstruct
- 사용자계정 #WSL2
- 인터넷 #ISP
- 글 foramt
- WSL #Linux #ubuntu
- 코드스테이츠 #회고록
- 호스트주소 #Host주소
- Java환경
- OOP
- 정리글 작성법
- 회고록
- 코드스테이츠 #
- 롤중독
- 공부방식
- Git #회고록
- 회고 #주간회고
- Today
- Total
목록전체 글 (96)
느리더라도 꾸준히

목표 객체 지향적이지 않은 코드를 객체 지향으로 바꾸면서 객체지향의 4가지 특징을 이해한다. 최종적으로 객체 지향적인 코드를 만들어보고, 이를 미리 구현 해 놓은 Springframework를 이해해보자. (1) 상속 (2) 추상화 및 다형성를 통한 DI(Dependency Injection) (3) 캡슐화 (4) SRP(Single-Relationship Principle) 정리 추상화 클래스 간의 공통적인 부분을 뽑아서 상위 클래스나 인터페이스로 만드는 개념이다. 이중 인터페이스는 역할 과 구현을 분리시켜 인터페이스를 사용하는 입장(객체)에게 복잡한 구현의 내용 또는 변경과 상관없이 기능을 사용하도록 만들 수 있다. 다형성 하나의 객체가 여러가지 형태를 가질 수 있는 성질을 말하며, 상위 클래스 타입..

목표 본문의 글은 설계 내용대로 코드를 작성한 부분입니다. 본문의 코드들은 객체지향적이지 않게 설계가 되어있습니다. 글 시리즈를 진행하면서 하나하나 객체지향의 특성을 입히고 객체 지향적인 코드로 만들어 보도록 하겠습니다. 본문 본문에 들어가기 전에 전체적인 코드를 어떻게 작성했는지 기록해보겠습니다. 전체 적인 코드 작성법 기본적인 전제 객체 사이 어떤 멤버들이 필요한지 유의하여 필드와 메서드를 선언해야한다. 객체간 포함 관계의 변수들은 생성자를 통해 값을 초기화 시켜준다. 사용자 정의 참조형 클래스 타입의 변수를 필드로 선언하는 관계(HAS A의 관계) 한 클래스 내에서 모든 메서드가 사용하는 변수와 객체들은 필드 위치에 선언하고, 임시로 사용하는 변수는 지역변수로 사용한다. 필드, 메서드의 캡슐화 법칙..

이 글을 읽으시기 전에 전체척인 설계를 담은 아래 글을 읽어주세요. 객체 지향 프로그래밍(OOP) - (0)설계 목표 객체 지향적이지 않은 코드를 객체 지향으로 바꾸면서 객체지향의 4가지 특징을 이해한다. 최종적으로 객체 지향적인 코드를 만들어보고, 이를 미리 구현 해 놓은 Springframework를 이해해보자.. (1) 상속 (2) 추상화 및 다형성를 통한 DI(Dependency Injection) (3) 캡슐화 (4) SRP(Single-Relationship Principle) 정리 - (1) 상속 상속을 이용하면 기존의 코드를 재사용하여 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있다. 그러므로 코드 중복을 줄일 수 있다.(재사용성) 또한 상속관계에 있는 클래스들은 메서드 오버라이딩 ..

목표 문제 일반적으로 상위 클래스 타입에 하위 클래스의 인스턴스타입이 할당되면 하위 클래스에만 존재하는 메서드들은 사용할 수가 없다. 그런데 다형성(참조변환)으로 인해 상위 클래스 타입에 하위클래스의 인스턴스가 들어있고 같은 이름의 메서드가 존재할때는, 오버라이딩 된 메서드가 호출이 된다. 어떻게 이런 구조가 가능한 것일까? 가상메서드를 이해하며 오버라이딩에 대해 더 알아보자. 정리 가상함수란 Java에서 상속하는 클래스 내에서 같은 시그니처(메서드명, 매개변수, 리턴형)의 함수로 오버라이딩 될 수 있는 함수 또는 메소드를 말한다. 어떻게 오버라이딩을 동작 시키는 것일까? 일반적으로 static이 아닌 메서드는 객체가 생성될 때 메서드 영역에 생성된다. 그리고 가상 함수는 가상함수 테이블(virtual ..
1. 지금 현재, 당신의 기분이나 느낌을 표현해 주세요. 추운 겨울에 전골을 해먹어서 그런가 든든한 느낌이다. 역시 잘먹어야 좋은 멘탈도 유지된다. 어제의 약속대로 바로 스카에 와서 공부를 할 예정이다. 오늘 이후로, Java 세션이 끝났는데 내 기준에서는 아직 크게 노력한건 없다라고 생각된다.(이미 Java는 알고 있었으니까..) 그래도 헷갈렸던 부분들을 꼼꼼히 다시 채워놓았다는 점에서는 괜찮았던 시간이었다. 오늘 강사님이 개발은 공부도 공부지만, 결국 백문이 불여일타 라고 했다. 배운 개념들을 다시 쳐보며 익숙해지도록 해야할 것 같다. 특히 앞으로는 내가 모르는 개념들을 배울 것이므로 더많이 쳐보고 더 이해해보자. 2. 오늘 무엇을 학습한 내용 중 지금 떠올릴 수 있는 단어를 모두 나열해 주세요. 프..
목표 static 을 공부하다보니, 정적바인딩과 동적 바인딩이란 개념을 알게되었다. 이 둘을 확실하게 구분하고 이해하자. 본문 바인딩 이란? 컴퓨터 프로그래밍에서 각종 값들이 확정되어 더 이상 변경할 수 없는 구속(bind) 상태가 되는 것. 프로그램 내에서 변수, 배열, 라벨, 절차 등의 명칭, 즉 식별자(identifier)가 그 대상인 메모리 주소, 데이터형 또는 실제값으로 배정되는 것이 이에 해당되며, 원시 프로그램의 컴파일링 또는 링크 시에 확정되는 바인딩을 정적 바인딩(static binding) 이라 하고, 프로그램의 실행되는 과정에서 바인딩되는 것을 동적 바인딩(dynamic binding) 이라고 한다. 프로그래밍에서는 바인딩을 가급적 뒤로 미루도록 권고하고 있다. [네이버 지식백과] [..