2D ferroelectrics with robust polarization down to atomic thicknesses provide novel building blocks for functional heterostructures. Experimental reports, however, remain scarce because of the requirement of a layered polar crystal. Here, we demonstrate a rational design approach to engineering 2D ferroelectrics from a non-ferroelectric parent compound via employing van der Waals assembly. Parallel-stacked bilayer boron nitride is shown to exhibit out-of-plane electric polarization that reverses depending on the stacking order. The polarization switching is probed via the resistance of an adjacently-stacked graphene sheet. Furthermore, twisting the boron nitride sheets by a small-angle changes the dynamics of switching due to the formation of moire ferroelectricity with staggered polarization. The ferroelectricity persists to room temperature while keeping the high mobility of graphene, paving the way for potential ultrathin nonvolatile memory applications.