코딩 5

Compile과 implementation의 차이점

현재 인프런이라는 강의 서비스에 CTO로 계신 김동욱님의 책인 '스프링부트와 AWS로 혼자 구현하는 웹 서비스' 라는 책을 통해 다시 웹 백엔드 부분을 공부하고 있다.(유툽에서 분명히 많이 본 이름이였는데, 아 그분? 하면서 얼굴이 떠올랐다. 그분이 그 분인거 같다....) 책에서는 인텔리제이와, JPA, JUnit테스트, Gradle, 소셜로그인, AWS 인프라로 무중단 배포까지를 망라해 책을 공부하는 독자들에게 지식을 전수해준다. 이 책이 끝판왕 개발 서적은 아니지만 더 깊은 내용을 공부하고 싶다면 다른 책을 찾아봐야한다. (인프런의 김영한-JPA수업 추천) 해당 책은 이미 서버 개발자(주니어 급)를 꿈꾸는 학생 또는 취준생이라면 한 번쯤은 봤거나, 접해볼 만한 책일 것이다. 내가 여기서 얻고자 하는..

스프링/백엔드 2022.01.30

클래스 메서드(static)와 인스턴스 메서드 (static은 무엇일까)

변수와 마찬가지로, 메서드 앞에 static이 붙어 있으면 클래스 메서드이고, 없으면 인스턴스 메서드이다. (클래스 영역에 선언된 변수를 멤버변수라 하고, 멤버변수 중 static이 붙은 것을 클래스 변수, 붙지 않은 것을 인스턴스 변수라 함. 인스턴스 변수와 static 변수 모두를 통칭하는 말이 멤버 변수!) 그럼 과연 static이 무엇일까? 무엇이길래 유무의 차이로 인해 정의가 바뀌는 것일까? static은 '클래스의' 또는 '공통적인'의 의미를 가지고 있다. 인스턴스 변수는 하나의 클래스로부터 생성되었더라도 각기 다른 값을 유지하지만, 클래스변수(static멤버변수)는 인스턴스에 관계없이 같은 값을 갖는다. 이와 같은 이유는 하나의 변수를 모든 같은 인스턴스가 공유하기 때문이다. static이 ..

Language/Java 2022.01.20

장독에 지식 채우기 (모를때마다 와서 추가)-(2022.01.17ver)

우연히 Java 관련 알고리즘 문제를 풀고 풀이 과정을 듣는 중 ArrayList라는 클래스가 눈에 보였다. (어... 이거 뭐였지?.. )하는 생각이 내 눈앞에 빠르게 지나갔는데... Array는 배열이였고.. List는 리스트? 그럼 ArrayList는? 뭐였지?... 그래서 풀이를 잠시 중단하고 ArrayList에 대해 짚고 넘어가고자 한다. 1. ArrayList ArrayList는 자바에서 기본적으로 많이 사용되는 클래스로 자바의 List 인터페이스를 상속받은 여러 클래스 중 하나이다. 일반 배열과 동일하게 연속된 메모리 공간을 사용하는데, 배열과 마찬가지로 인덱스는 0부터 시작한다. 차이점은 배열은 크기가 고정이지만, ArrayList는 크기가 가변적으로 변한다. 내부적으로 저장이 가능한 메모..

Language/Java 2022.01.17

기본적인 자바코드의 이해 (변수와 메인, 메인메서드, 자료형과 연산자)

Hello world를 이용한 코드 분석(기본 코드의 분석) public class Java{ public static void main(String [] args){ System.out.println("Hello world") }; } 접근제한자 클래스선언 클래스이름{ 접근 제한자 static 반환형 메서드이름(메인함수)(파라미터){ 구현할 코드 } } public class Java{ public static void main(문자열 배열 변수명){ 구현할 코드 }; } 가장 기본적인 Java의 Hello world 출력을 위한 코드로 코드를 분석해보면 다음 위와 같다. // 1) 접근 제한자 -> public, private, protected, default -> 클래스나 메서드에 접근할 수 있는..

Language/Java 2022.01.16