Back-End

Back-End/Java

[자바 / Java] 캡슐화(capsule)와 패키지(package)

캡슐화는 특정 개체 안에 관련된 속성과 기능을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것을 뜻한다. 캡슐화를 하는 이유는 데이터 보호 내부 데이터의 불필요한 외부 노출 방지 의 목적을 가지고 있다. 즉, 외부로부터 객체의 속성과 기능이 변경되지 못하게 방어하고 만약, 데이터가 변경되더라도 다른 객체에 영향을 미치지 못하게 하는 data hiding의 역할을 수행한다. 캡슐화를 하기 위해서는 접근제어자와 getter와 setter, package에 대한 이해가 필요하다. 패키지(package) 패키지는 특정한 목적을 공유하는 클래스와 인터페이스의 묶음을 의미한다. 즉, 패키지는 클래스를 그룹단위로 묶어 효과적으로 관리하기 위한 목적을 가지고 있다. 패키지는 각 계층마다 점(.)으로 계층을 구분하..

Back-End/Java

[자바 / Java] super 키워드와 super()

this와 this()의 차이와 비슷하다. 이들은 모두 상위 클래스의 상속관계를 전제한다. super 키워드는 상위 클래스의 객체, super()는 상위 클래스의 생성자를 호출하는 것을 의미한다. super 키워드 public class Super { public static void main(String[] args) { childClass exam = new childClass(); exam.score(); } } class Parents { int count = 50; // super.count } class childClass extends Parents { int count = 30; // this.count void score() { System.out.println("count = " + c..

Back-End/Java

[자바 / Java] 메서드 오버라이딩(Method Overriding)

메서드 오버라이딩은 상위 클래스로부터 상속받은 메서드와 동일한 이름의 메서드를 재정의 하는 것이다. 즉, 부모클래스의 메서드(same)와 자식클래스의 메서드(same)의 이름이 같을 때, 자식클래스의 메서드로 덮어씌워지는 것을 뜻한다. 코드를 통해 알아보자 class Parents { void same() { System.out.println("I'm your father"); } } public class Son extends Parents { // Parents 클래스 상속 void same() { System.out.println("Yes, I'm your son"); // 메서드 오버라이딩 } public static void main(String[] args) { Son son = new Son..

Back-End/Java

[자바 / Java] 포함(composite)

포함은 상속과 같이 클래스를 재사용하는 방법 중 하나로 클래스의 멤버로 다를 클래스 타입의 참조 변수를 선언하는 것을 말한다. 다시말해, 클래스를 포함하는 클래스를 만드는 것을 말한다. 코드를 통해 알아보자 public class Square{ int x; int y; } class cube { public static void main(String[] args) { Square s = new Square(); int z = 3; s.x =10; s.y =2; System.out.println(s.x*s.y*z); } } 다음과 같이 Square에 있는 코드를 cube가 가져와 재활용 할 수 있다. 새로 알게된 부분 상속과 비슷하지만 상속은 a is b 의 의미를 가지고 있으며 포함은 a has b의 의..

Kangharyeom
'Back-End' 카테고리의 글 목록 (7 Page)