본문 바로가기

2017/052

가상함수 - 동적 바인딩과 정적 바인딩 가상함수란? 가상함수를 알아보기 전에 바인딩에 대해 알아보자. 바인딩이란? 프로그램을 실행하면 컴파일을 하고 실행코드가 만들어진다.실행코드에서 함수 호출부분을 보면 함수가 그대로 정의되어 있지 않고 함수가 정의된 부분의 주소값이 있어서 함수를 찾아가서 실행할 수 있다.이 때 함수 호출부와 정의부를 연결시켜주는 것이 바인딩이다. 바인딩에는 정적 바인딩과 동적 바인딩이 있는데 바인딩이 결정되는 시점에 따라 나뉜다.정적 바인딩은 컴파일 시에 바인딩 할 주소가 결정되어 함수 호출 시에는 이미 결정되어 있고,동적 바인딩은 컴파일 시에 바인딩 할 주소가 결정되지 않고 함수 호출 시에 결정된다. 일반 함수는 정적 바인딩을 하며 컴파일 시에 인스턴스의 타입에 따라 바인딩 될 주소가 결정되기 때문에 클래스를 상속받아 함.. 2017. 5. 31.
Transfer Object Pattern Transfer Object pattern Making the setters and getters to transfer the data. Value Object(VO) 라고도 불리는 Transfer Object(TO)는 데이터를 전송하기 위한 객체에 대한 패턴이다. Getter 메소드나 setter 메소드를 사용하면 getEmpName() 등의 메소드에서처럼 empName이 null값이더라도 null을 return하지 않고 길이가 0인 String을 return하도록 할 수 있다. 즉, Transfer Object를 잘 만들어 놓으면 각 소스에서 일일이 null 체크를 할 필요가 없기 때문에 개발할 때 오히려 더 편해질 수 있다. Serializable은 implements 해주자. 이 인터페이스를 구현.. 2017. 5. 1.