본문 바로가기
반응형

Interview3

트랜잭션 Transaction 정의 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 말합니다. 트랜잭션은 꼭 여러 개의 변경 작업을 수행하는 쿼리가 조합되었을 때만 의미있는 개념은 아닙니다. 트랜잭션은 하나의 논리적인 작업 셋에 하나의 쿼리가 있든 두 개 이상의 쿼리가 있든 관계없이 논리적인 작업 셋 자체가 100% 적용 되거나 (Commit을 실행했을 때) 또는 아무것도 적용되지 않아야 (Rollback 또는 트랜잭션을 Rollback시키는 오류가 발생했을 때) 함을 보장해주는 것입니다. 그럼 언제 트랜잭션을 사용해야 할까요? 여러 쿼리가 일련의 과정을 통해 묶음으로 데이터베이스의 상태값을 변경해야 할 때, 전부 성공하거나 전부 실패해야 하기 때문에 트랜잭션을 사용합니다. 예를 들면, A라는 사람이.. 2019. 12. 10.
추상클래스와 인터페이스 추상클래스 / 인터페이스 차이 추상클래스 추상 메서드를 하나 이상 가지고 있는 클래스 인터페이스 추상 메서드의 집합. 하지만 자바 8부터 default 접근 제어자를 허용하면서 인터페이스도 구현이 가능해졌습니다. 왜 인터페이스에서 구현을 가능하게 했을까요? 자동차를 만들기 위해 Car 인터페이스를 다음과 같이 선언했습니다 그 후 이것을 구현한 아반떼 클래스를 만들었습니다 코드는 문제없이 잘 동작했고 시간이 흘러 Car 인터페이스를 상속하여 구현한 자동차 클래스가 100만개 였다고 가정해볼게요 그러다가 Car가 출발할 수 있도록 start() 추상 메서드를 만들어 달라는 요구사항이 들어왔습니다. 바로 만들어 줍시다 그후 인터페이스를 implements 받은 클래스들을 구현하려고 생각해보니.. 100만개의 .. 2019. 12. 9.
객체 지향이란? 객체 지향이란? 프로그래밍에 필요한 데이터를 추상화해서 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해서 로직을 구성하는 프로그래밍 방법입니다. 객체 지향과 절차 지향의 차이 가장 큰 차이는 '프로그래밍 관점이 어디에 있는가'의 차이라고 말할 수 있습니다. 절차 지향 프로그래밍은 먼저 프로그래밍의 제어 순서를 결정하고 데이터를 조작하는 반면, 객체 지향 프로그래밍은 객체 설계에 중점을 맞춘다음 그 후에 실행 순서를 결정합니다. 객체 지향으로 프로그래밍하면 뭐가 좋은가요? 클래스 단위로 모듈화 시켜서 개발할 수 있으므로 협업에 있어 일을 분담하기가 쉽습니다. (모듈화 : 관련 부품을 하나의 덩어리로 만드는 것) 남이 만들어 놓은 클래스를 가져와서 이용할 수 있고, .. 2019. 6. 20.