본문 바로가기
Etc

용어정리

by 당리 2024. 8. 18.

최근에 면접을 봤을때, StringBuffer와 StringBuilder의 차이점을 질문받은적이 있다.

StringBuffer는 멀티스레드 환경에서도 안전을 보장한다고 답변을 길게 설명한 적이 있다.

사실 StringBuffer는 동시성(synchronicity) 이슈가 해결이 된다.  라고 간결하게 말하면 됐다.

 

대학시절 공부를 하면서도 데이터베이스의 특징 ACID (원자성,일관성,독립성,지속성)에 대해서도 다 비슷한 단어처럼 보였고

기억에 남는게 쪽지시험때 원자성이라는 단어가 생각이 안나서 

- 트랜잭션 작업중에 실행되다가 중단이 되지 않는것, 이렇게 풀어서 작성한적이 있다.

 

면접때 주저리주저리 말하는것보다 간결하게 말하는게 어른들이 좋아하는거같다.

 

----------------------------------------------------------------------------------------------

 

 

 

 

가시성  : 쓰레드가 항상 최신 값을 받아볼 수 있게 하는 성질

원자성 :  어떤 작업이 프로그램(소스코드) 안에서 가장 작은 단위라서 더 이상 다른 작업으로 나눌 수 없는 성질

동시성 :  한 코어 안에서 쓰레드가 여러 작업을 엄청 빠르게 번갈아 실행하는 성질. 

 

 

 

--- 그외 객체지향 용어정리

 

캡슐화(Encapsulation)

- 객체의 자료와 행위를 하나로 묶고 실제 구현한 내용을 외부에 감추는 것. 이렇게 캡슐화된 객체의 행위는 외부에서 볼 때 실제가 아닌 추상적인 것이 되어정보은닉이 되어진다.

 

정보은폐, 정보은닉(Information Hiding)

- 객체가 캡슐화를 통해서 내부의 자료와 오퍼레이션의 구현 내용을 감추는 것. 즉 외부의 무분별한 접근을 막는 것이다. 따라서 클라이언트에게 구현 사항을 수믹기 때문에 클라이언트는 UI에 의존하게 된다.

 

슈퍼클래스(Super class)

- 최상위 클래스. 자바에서는 Object 클래스가 최상위에 위치하며, 모든 클래스는 직간접적으로 Object 클래스를 상속받는다. 이 클래스의 코드는 여러번 재사용할 수 있다.

 

서브클래스(Sub class)

- 슈퍼클래스로부터 상태와 변수 및 메소드를 상속받는 것 외에 자신의 특성 또한 추가할 수 있다.

 

다형성(Polymorphism)

- 하나의 인터페이스를 통해 서로 다르게 구현된 것들을 숨길 수 있는 능력. 동일한 메세지라도 수신하는 것이 누구인가에 따라 각각 다른 기능을 수행하는 것을 말한다. 예를 들면 한 회사의 TV 제품은 그 회사가 생산한 어떤 리모콘으로도 조종이 가능한 것과 같다.

 

예약어(Reserved word)

- 문장의 뜻을 전달해주는 의미와 용법이 정해져 있는 단어. 사용자가 변경 불가능하며, 정해진 의미, 정해진 용도에만 사용할 수 있다.

(abstract, default, goto, package, synchronized, boolean,do, if, private, this, break, double, implements, protected, throw, byte,else, import, export, public, throws, case, instanceof)

 

 

추상화(Abstraction)

- 한 개체를 다른 모든 개체와 구별할 수 있는 본질적인 특징으로 구분하는 것으로, 불필요한 부분을생략하고 객체의 가장 중요한 것에만 중점을 두어 간략화 시킨 것이다. 추상 클래스는 온전한 클래스가 아니므로 객체를 생성할 수가 없다.

 

'Etc' 카테고리의 다른 글

Refactoring 간단 예제  (0) 2024.08.25
Ajax 요청시 사용하는 withCredentials 옵션의 의미  (0) 2024.08.25
Refactoring이란  (0) 2024.08.11
Jira(지라) 활용기  (0) 2024.08.11
Git 기본  (0) 2024.08.04