전체 글

초보 개발자의 공부 블로그입니다.
·Language/Java
객체지향을 공부하다 보면 나오는 개념 중 하나가 다형성이다. 그 다형성을 설명하기 위해 나오는 키워드가 Overriding과 Overloading이다. 물론 다형성은 상위 클래스와 하위 클래스 사이에서도 이야기할 수 있고, 인터페이스와 구현 클래스 사이에서도 이야기할 수 있지만 가장 기본은 오버라이딩과 오버로딩이다. 관점에 따라 오버로딩은 다형성인지에 대해서는 이견이 존재한다. 하지만 객체지향엔 정답이 없으니 상관없다. 해당 키워드들을 비교하는 것은 자바 객체지향에 있어 클래식한 질문 중 하나이다. 왜냐하면 두 용어는 이름은 비슷하지만 전혀 다른 의미로 사용되기 때문이다. 오버라이딩과 오버로딩? - 같은 메서드 이름, 같은 인자 목록으로 상위 클래스의 메서드를 재정의 - 같은 메서드 이름, 다른 인자 목..
·Trouble Shooting
이슈상황 Github에 repository를 생성할 때 readme를 같이 생성. 원격저장소를 remote로 연결하여 내 로컬에 있는 프로젝트를 원격 저장소로 push 할 때 이슈 발생. [error: failed to push some refs to] 오류가 발생 원인을 확인해 보니 원격저장소에는 Readme 파일이 있는데 로컬에는 없을 경우 발생된다고 한다. 해결 방안 1. 강제로 push 하기 제일 간단한 방법이지만 원격저장소의 파일이 훼손될 수 있다. 아직 원격저장소에 특별한 작업이 없다면 이 방법을 추천한다. 만약 원격저장소 Readme 등을 작업하고 있으면 백업 후 진행하거나 아래 방식을 이용한다.(다 날아감) git push origin +main 2. git pull (권장 방법) 해당 오..
·Trouble Shooting
넘블/딥다이브 [방문자 수 트래킹 서비스 구축하기] 프로젝트 진행 중 이슈에 대한 트러블 슈팅과정입니다. 이슈 전 프로젝트 상황 설명 [Spring Boot + JPA + MySQL] 기반 프로젝트이다. 방문자 수 트래킹을 기록하기 위한 테이블 구성은 아래와 같이 구성하였고 일자별 특정 URL에 대한 방문 조회수를 기록하는 형태이다. @Entity public class UrlCounter { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullable = false, length = 200) private String url; @Column(nullable = false) private LocalDate..
·Language/Java
코딩테스트를 풀다 보면 유용하게 써야 되는 방법 중 하나이다. 자바에서 'String[]' 배열과 'LIst' 사이 변환은 매우 간단하나 까먹을 때가 있어 문서화시켜 정리하자. String[] 배열을 List으로 변환하기 Array 유틸리티 클래스의 'asList'메서드를 사용하여 배열을 리스트로 변환할 수 있다. import java.util.Arrays; import java.util.List; public class ArrayToListExample { public static void main(String[] args) { String[] stringArray = {"a", "b", "c"}; List stringList = Arrays.asList(stringArray); System.out.p..
·Language/Java
이 코드에서 @Override가 있으면 문제가 없을까? class Parent { public void hello(String name) { System.out.println("안녕하세요, 저는 " + name + "입니다."); } } class Child extends Parent{ // @Override가 있고 없고 차이가 없을까? public void hello() { System.out.println("안녕!"); } } 위 코드는 @Override 어노테이션을 사용하지 않으면 동작이 되고, 사용하면 예외가 발생한다. 예외가 발생한다는 것은 오버라이딩이 아니라는 의미이다. 오버라이딩의 조건은 다음과 같다. 부모 클래스의 메서드와 메서드 이름이 동일해야 한다. 매개변수의 타입, 개수, 순서가 일치..
인터넷과 웹은 일상생활에 많이 혼용하여 사용한다. 하지만 둘은 엄연히 다른 개념이다. 인터넷(Internet) 우린 스마트폰으로 영상을 보거나 게임을 할 때, 속도가 느려지면 주로 인터넷이 연결이 안 좋다고 표현한다. 인터넷에 대해 잘 모르는 사람들도 인터넷을 '연결'이라는 단어로 표현을 한다. 즉, 인터넷은 '연결'이라는 것이 매우 중요한 포인트라는 것을 알 수 있다. 인터넷은 여러 통신망을 하나로 연결하다는 의미인 '인터 네트워크(inter-network)'라는 말에서 시작하였다. 현재는 여러 통신망이 전 세계 컴퓨터을 하나로 연결하는 거대한 컴퓨터 통신망을 의미한다. 웹(World Wide Web) 월드 와이드 웹(World Wide Web)이라고 불리는 웹은 인터넷에 연결된 사용자들이 서로의 정보..
·Language/Java
일전에 컴파일을 정리하며 "Java는 컴파일 기반 언어 중 하나다."라고 정리하였는데 최근 강의에서 Java는 컴파일러와 인터프리터를 모두 수행하는 '하이브리드 언어'이다.라는 말을 듣게 되어 정리를 해보았다. 그럼 우선 Java에 대해 알아보기 전에 인터프리터와 컴파일러를 간단히 알아보자. 컴파일러(compiler) 고급언어는 실행하기 전 기계가 이해할 수 있는 기계어로 번역하는 작업이 필요하다. 이것을 컴파일이라고 한다. 이런 컴파일을 해주는 도구 또는 논리적인 장치를 '컴파일러'라고 한다. 컴파일러는 프로그램 전체를 스캔하여 이를 모두 기계어로 번역한다. 전체를 스캔하기 때문에 초기 스캔 시간을 오래 걸린다. 하지만 전체 실행 시간 기준을 두고 비교해 보면 오히려 인터프리터보다 빠르다. 왜냐하면 컴..
1주 차 실시간 세션 및 과제에 대한 키워드 정리 # 포트폴리오 3가지 (깃허브, 블로그, PPT(노션)) 준비하기 - 지속적인 업데이트가 필요 - 노션으로 만든 포트폴리오가 있긴 한대 업데이트를 거의 안 해서 한번 정리가 필요 # 인터프린터와 컴파일러 그리고 Java 2023.10.23 - [Language/Java] - [Java] 인터프리터와 컴파일러 그리고 Java # 인터넷과 웹 2023.10.23 - [Knowledge/네트워크] - [네트워크] 인터넷과 웹의 관계 # 객체지향의 4가지 특징 2023.10.19 - [Language/Java] - [스진초5기/Java] 객체지향의 4가지 특징 # 인터페이스와 객체지향의 관계 2023.10.20 - [Language/Java] - [스친초5기/J..
JH_DEV77
JH’s 개발블로그