본문 바로가기
  • soobinhand의 기술 블로그
728x90

Computer Science73

[JAVA] 클래스, 객체, 인스턴스 컴퓨터를 전혀 모르는 내 친구가 물어봤다. 회사에서 들었는지. "자바에서 클래스, 객체, 인스턴스가 뭐야? 왜 쓰는겨??" 난감했다. 자바를 해왔고, 꽤 자신있다고 생각했는데 말이다. 다 내 오만이었다. 그에게 설명해주려고 공부해본다. 클래스 클래스는 무엇인가? 그냥 순수하게 학급, 반, 수업 등의 뜻이 떠오른다. 또는 자동차 브랜드 벤*의 클래스 시리즈가 생각난다. 영어를 모국어처럼 사용하는 이들은 이러한 어떤 그들만의 뉘앙스로 쉽게 생각할 수도 있을 것 같은데 나는 토종 한국인이라 "클래스"가 풍기는 뉘앙스를 알아차리는데 꽤 오랜 시간이 걸렸다. "불 좀 주라" 했을 때, 라이터를 달라는 뜻인것을 우리 한국인은 안다. 하지만 미국인이라면 그 뉘앙스를 알아차리기 힘들 수 있다. 객체지향 언어에서는 소프.. 2022. 1. 28.
[데이터베이스] 트랜잭션, Transaction 트랜잭션은 영어로 transaction이다. 그럼 transaction의 뜻은 뭘까? 그냥 영단어 사전엔 "거래" 라고 나와있다. 나는 이걸 어느정도 받아들이며 트랜잭션에 대해 공부하려 한다. 물론 컴퓨터에서 말하는 트랜잭션이 거래와 동일한 뜻은 아니다. 하지만 비슷하다고 생각한다. "거래"와 연관지어 공부해보겠다. 정의 트랜잭션은 데이터베이스의 상태를 변경시키기 위해 수행하는 작업 단위이다. 데이터베이스를 변경시키는 것은 INSERT, UPDATE, DELETE, SELECT 등이 있다. 하나의 트랜잭션은 Commit or Rollback이 되어야만 한다. Commit or Rollback 아까 말한 거래와 연관지어 보자. 엄마한테 용돈을 10만원만 달라했다. 엄마는 아들이 불쌍하여 보내주셨다. 근데 .. 2022. 1. 27.
[JAVA] 추상클래스와 인터페이스의 차이 나는 이 차이점을 두고 항상 생각했다. 왜 이렇게 머릿속에 들어가질 않지...? 면접에서도 많이 나오고 또 실제로 자바로 개발을 할 때에 꼭 알아둬야 할 것 같아서 이렇게 공부를 정리해본다. 처음 자바를 접할 때만 해도 이 둘의 차이가 뭐 그렇게 중요하겠어 라는 상당히 거만한 생각을 한 적이 있다. 그 때 해 놓을 걸. 추상 클래스 사실 추상 클래스는 일반 클래스와 별로 다를게 없다. 단지, 추상 메소드를 선언하고 상속을 통해서 자손 클래스에서 완성하도록 유도하는 클래스다. 유도 클래스다... 그래서 보통 미완성 설계도라고 한다. abstract class soobinhand{ public abstract void soobin(); } 이런식으로 구현한다. 어렵지 않다. 그냥 abstract만 붙여주면 .. 2022. 1. 26.
[네트워크] POST과 PUT차이 / PUT과 PATCH 차이 사실 생각해보면 비슷한 느낌이 강하다. 그러게 왜 따로 쓰지 이걸...? 하는 생각에 공부를 시작했다. POST와 PUT 멱등성과 관련하여 POST와 PUT을 구분하기 위해서는 멱등성의 개념을 알아야 한다. 멱등성은 200억번 수행해도 결과가 같음을 의미한다. HTTP Method에서 GET, PUT, DELETE는 같은 경로로 여러 번 호출해도 결과가 같다. 그러니 멱등적이다. 하지만 POST는 매 호출마다 새로운 데이터가 추가된다. 따라서, POST 연산은 결과가 멱등성을 지키지 않지만, PUT은 반복 수행해도 그 결과가 멱등적이다. POST로 동일한 엔티티의 요청을 N번 보내면 N개의 다른 리소스들이 생성되는 것이다. PUT으로 동일한 요청을 재시도 하더라도 동일한 결과 값을 받는다. 하지만 애초에.. 2022. 1. 26.
728x90