Post List

태그

레이블이 캡슐화인 게시물을 표시합니다. 모든 게시물 표시
레이블이 캡슐화인 게시물을 표시합니다. 모든 게시물 표시

2018년 8월 18일 토요일

자바 클래스의 캡슐화(encapsulation)

자바 클래스의 캡슐화(encapsulation)

1) 캡슐화의 정의와 목적
  캡슐화 : OOP 언어의 가장 큰 특징으로 변수 앞이나 메소드 앞에 접근제한자(access modifier)를 붙여 이 변수 또는 메소드를 다른 오브젝트에 어느 정도 노출시킬 것인지 결정할 수 있는 것
  클래스 캡슐화의 목적 : 자바에서는 클래스의 멤버 변수 즉 데이터를 사용자에게 보이지 않도록 함으로써 형 변환 또는 직접 접근으로 인한 데이터 결과 오류를 유도 할 수 있기 때문에 캡슐화를 구현함

2) 캡슐화의 방법
  데이터를 관리 하는 멤버 변수는 선언 시 변수 앞에 private을 붙여서 다른 클래스에서 직접 접근하지 못하도록 함
  멤버 메서드는 public으로 선언해서 다른 클래스에서 불러 사용할 수 있도록 접근 제한자를 선언함

2018년 8월 16일 목요일

자바 객체지향 프로그램 주요개념

자바 객체지향 프로그램 주요개념

캡슐화(Encapsulation)
클래스에서 멤버들을 선언하고 구현할때 불필요한 정보를 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단히 만드는것으로 작업
자료추상화 또는 데이터 은닉화(data hiding)라고도 함

자바의 접근 제어자
public(+) - 무조건 자료를 공개
protected(#) - 상속관계에 공개
default(~) - 같은 패키지에 공개
private(-) - 비공개


상속성(Inheritance)
상속은 새로운 클래스가 기존의 클래스의 자료와 연산을 이용할 수 있게 하는 기능
미리 만들어진 소스를 가지고 공유하며 재사용함
특별한 부분에 대해서는 다시 재정의해서 사용하기도 함


다형성(polymorphism)
어떤 한 요소에 여러 개념을 넣어 놓는 것으로 일반적으로 오버라이딩이나 오버로딩을 의미

오버라이딩(overriding) - 같은 이름의 메소드가 여러 클래스에서 다른 기능을 구현하는것
오버로딩(overloading) - 한 클래스에서 같은 이름의 메소드가 인자의 개수나 자료형에 따라서 다른 기능을 구현하는것