본문 바로가기

기타

[자바/JAVA] 자바의 객체지향 이점

반응형

 

안녕하세요 오늘 포스팅은 자바의 객체지향적 이점 입니다. 
자바는 객체지향방식의 대표적인 언어입니다. 객체지향언어의 대표적인 장점으로는 캡슐화,상속,다형성이 있습니다.





객체와 인스턴스
객체지향방식에서 ‘객체’ 는 “속성을 갖고 있으며, 속성에 관련되는 동작을 포함하는 것” 이라고 간단히 정의할 수 있습니다. 객체를 만들 수 있는 설계 도면 역할을 클래스가 합니다.
클래스명 객체명 new 클래스명(); 를 통해 객체를 생성하는 것을 인스턴스화 한다고 하고 생성된 객체를 인스턴스라고도 부릅니다.


상속
객체지향방식에서 상속은 재사용성을 증가시켜 효율적인 코딩을 할 수 있도록 해줍니다.  
"부모로 부터 재산등을 물려받는다”의 상속개념과 유사하게 쓰이며. 부모 클래스가 갖고 있는 필드와 메소드를 상속받아 재활용 할 수 있고 재정의도 가능합니다. 제가 작성한 포스팅의 오버라이딩이 상속을 통한 재정의입니다. 


다형성
상속과도 상당히 밀접해 있고, '다양한 형태를 가질 수 있다’ 의미합니다.  앞서 언급한 오버로딩, 오버라이딩과도 상당히 밀접합니다. 
많은 곳에서 키보드를 이용해 비유합니다. 키보드에 수 많은 키들은 ‘버튼’이라는 동일한 객체이지만 ‘눌림’ 이라는 동작을 했을때 결과가 모두 다릅니다. 
이와 같이 ‘스페이스바’ 와 같이 버튼 클래스를 상속받아 눌림이라는 메소드를 재정의함으로써 눌렸을때 빈공간을 출력합니다.


캡슐화
이름만 들었을때 흔히 먹는 알약을 떠올리면 큰 틀을 이해하는데는 어려움이 없다고 생각합니다. 일부 서적에서도 캡슐화를 연관 있는 필드나 메소드를 클래스로 묶어 사용하는데 정의를 그치고 저 또한 그렇게 이해하고 있었습니다.  
틀린말은 아니지만 조금 더 자세히 알고나서 많은 걸 놓치고 있다는 생각이 들었습니다. 캡슐화는 궁극적으로 유지보수시 최대한 적은 보수로 많은 효율을 내도록 합니다.
그러기 위해서는 클래스의 필드와 메소드를 생성할때 어떤 접근 제한자를 사용할 것이고, 리턴타입을 설정할때도 신중히 해야합니다. 
이런 과정에서 많은 시간이 소요되지만 프로젝트의 범위가 클 수록 객체지향의 효율은 증가합니다. 작은 프로젝트 일 경우 유지보수할 일도 적을뿐더러 생각하는 시간에 빠르게 구현하는게 
더 효율적이라고 생각합니다.


오늘 포스팅은 다른 예제가 없이 진행했는데, 필요하신 분들은 요청해주세요~



해당 포스팅은 지극히 주관적인 내용으로 저자의 복기 목적으로 작성된 것이고, 내용에대해 수정이나 추가 요청은 언제든 환영합니다. 



반응형

'기타' 카테고리의 다른 글

페이스북 홍보 결과[1/2]  (0) 2018.03.11
페이스북 홍보하기  (0) 2018.02.25
[자바/Java] 오버로딩과 오버라이딩  (0) 2018.01.02
[자바/JAVA] 변수  (0) 2017.12.18
[안드로이드/Android] 개인정보 보호법  (0) 2017.11.14