sm 기술 블로그

자바의 객체 2 본문

Java

자바의 객체 2

sm_hope 2022. 5. 22. 22:54

코드

public class Example1 {

	public static void main(String[] args) {
		
		홍길동 홍길동1 = new 홍길동();		
		홍길동1.intro();
		홍길동1.자바();
		홍길동1.씨언어();
		홍길동1.파이썬();
		
		홍길순 홍길순1 = new 홍길순();
		홍길순1.파이썬();
	}

}

class 홍길동 {
	
	홍길순 홍길순1 = new 홍길순();
	
	public void intro() {
		
		String name = getName();		
		System.out.printf("안녕하세요 저는 %s입니다.\n", name);
	}
	
	public String getName() {
		return "홍길동";
	}
	
	public void 씨언어() {
		System.out.println("씨언어 버전11");
	}
	
	public void 자바() {
		System.out.println("자바 버전1.8");
	}
	
	public void 파이썬() {
		홍길순1.파이썬();
	}
	
}

class 홍길순 {
	public void 씨언어() {
		System.out.println("씨언어 버전11");
	}
	
	public void 파이썬() {
		System.out.println("파이썬 버전3.10");
	}
}

코딩을 할때 중복은 최소화 해야한다.
위 예제는 캡슐화를 진행한 것이다.

홍길동 클래스와 홍길순 클래스의 중복과 중복을 해결한 캡슐화를 나타낸 코드이다.
씨언어 메소드는 홍길동, 홍길순 클래스에 중복이 발생하였다.
홍길동에 파이썬을 추가하면 홍길순 클래스와 또 중복이 발생하여 차라리 홍길순의 파이썬을 홍길동의 파이썬 메소드에서 사용할 수 있도록
호출하는 방법을 작성한 코드이다.

다음과 같이 사용하는 이유

코드의 길이가 몇천줄이 넘어가게 된다면 유지보수에서 매우매우 힘들다.
따라서 최대한 중복을 피하고 캡슐화 하고, 클래스를 여러개 선언 함으로써 비슷한 로직을 진행하는 메소드끼리 묶어서 관리하는것이 더 효율적이다.
(화면출력, 데이터, 저장(CRUD), 실행, 메인등)

'Java' 카테고리의 다른 글

자바 신속 문법  (0) 2022.06.07
열거타입 enum  (0) 2022.05.28
자바의 객체 1  (0) 2022.05.22
[자바]문자열 함수  (0) 2022.05.04
객체지향) 컬렉션 프레임워크  (0) 2022.04.21
Comments