본문 바로가기

두고두고 볼 것11

객체지향 객체지향 4가지 특징 1. 추상화 : 공통의 속성이나 기능을 추출하는 과정 2. 다형성 : 하나의 타입으로 여러 종류의 객체를 참조할 수 있는 것 3. 캡슐화 : 관련있는 데이터와 기능을 묶고, 외부에는 메서드로 기능만 제공한다. Tell, Don't ask 원칙. 객체에 원하는 기능을 요청해야한다. 값을 직접 가져와서 판단하면 안 된다. 캡슐화를 수행하여 외부에는 메서드로 기능만 제곰함으로써 객체가 어떤 data를 사용하여 어떻게 기능을 구현했는지는 감출 수 있다. (정보은닉 information hiding) 캡슐화를 수행함으로써 객체 내부에서만 로직 변경하면 되고, 해당 기능을 사용하는 외부에서의 변경사항은 적어진다. 4. 상속 : 부모 클래스의 필드나 메소드를 그대로 받아서 사용할 수 있게 된다... 2022. 9. 20.
트렌젝션 https://zzang9ha.tistory.com/381 [MySQL] - 트랜잭션의 격리 수준(Isolation level) 📎 글또 6기 포스팅 1. 미치도록 더웠던 7월의 회고 2. 사용자가 게시물을 작성할 때의 트랜잭션 처리 3. Spring AOP - (1) 프록시 패턴, 데코레이터 패턴 4. [MySQL] - 트랜잭션의 격리 수준(Isolati zzang9ha.tistory.com https://kkamikoon.tistory.com/entry/MySQL-DDL-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95CREATE-DROP-ALTER-RENAME-TRUNCATE [MySQL] DDL 명.. 2022. 7. 2.
JPA 변경 감지와 병합(merge) 엔티티가 영속 상태로 관리가 되면 값만 바꾸면 JPA가 트랜잭션 커밋 시점에 변경된 내용을 알아서 DB 반영해준다. 트랜잭션 안에서는 book.setName("daa"); 처럼 이름을 바꿔치기 한 다음에 트랜잭션이 커밋되면 JPA가 변경사항에 대하여 찾아서 업데이트 쿼리를 자동으로 찾아서 업데이트를 해준다. ( 이것을 변경감지 == dirty checking 이라고 부른다.) JPA가 관리하는 영속성 Entity는 변경관리가 자동으로 일어난다. flush() 수행 시점에 dirty checking 일어난다. 추가 예시 위 예시에서 객체의 상태를 OrderStatus.CANCEL 으로 데이터만 변경만 하고 따로 JPA로 DB에 업데이트 요청을 날리지 않았는데도 JPA가 트랜잭션 커밋 시점에 바뀐 부분 찾아.. 2022. 4. 3.
Java Collections, Iterator, Enumeration 인터페이스 간략 정리 https://docs.oracle.com/javase/9/docs/api/java/util/Iterator.html java.util.Iterator (Thread Safe X) 자바 iterator 인터페이스 메서드 설명 hasNext() : 다음 값이 있으면 true return, exception 발생하기 전까지 next() : iteration에서 다음 원소 return remove() : iteration에서 가장 최신에 return된 원소 제거 forEachRemaining(Consumer 2022. 3. 31.