본문 바로가기

IT/JAVA4

Java(자바)의 Interface(인터페이스)를 쉽게 이해해보자!(1) 어렸을 때 그 어렵다는 C를 겉핥기 한 경험이 있어서인지 자바를 처음 접했을 때 너무 재밌고 또 술술 이해됐습니다. 그렇게 진도를 훅훅 빼다가 만난 암초가 바로 자바의 인터페이스!... 처음 읽었을 땐 이 놈을 도대체 어따 쓰는 지 이해가 되지 않았고, 두 번 읽었을 땐 다형성 뭐시기 하는 거 같은 느낌이 왔고, 그 이후로 아마 열 번 이상은 공부하고 나서야 비로소 이해했습니다. 혹 저처럼 자바의 인터페이스에서 헤메고 계시다면 잘 찾아오셨습니다! 그럼 한 번 인터페이스라는 놈을 함께 분석해볼까요? 1. 인터페이스는 약속이다! 네! 인터페이스는 단순한 약속이라고 이해하시면 됩니다. 개발자와 컴파일러, 개발자와 개발자 사이의 약속인거죠. 위의 코드를 함께 볼까요? Flyable 인터페이스는 말 그대로 '날 .. 2020. 8. 26.
3. 상속 객체들을 이용해서 즐겁게 프로그램을 만들어 보자. 프로그램 A : 주인과 걷고 있는 푸들 객체 프로그램 B : 주인과 걷고 있는 요크셔 테리어 객체 프로그램 C : 주인과 걷고 있는 불독 객체 ....... 자 이렇게 모든 강아지 종에 대한 프로그램을 만드려고 마음을 먹었는데, 언제 끝낼 수 있는 지 가늠도 안된다. 그러던 와중에 다음과 같은 아이디어가 떠오른다면? 프로그램 X : 주인과 걷고 있는 '강아지' 객체 프로그램 단 한개로 해결되었다! 푸들도 강아지, 요크셔 테리어도 강아지, 불독도 강아지니 전혀 문제가 없지 않은가? 이게 상속의 슈퍼파워다. 1. 푸들, 요크셔 테리어, 불독을 묶을 수 있는 개념인 강아지 class를 먼저 만들고(귀, 꼬리, 신장, 운다, 꼬리 흔든다, 잔다, 달린다) 2. .. 2019. 12. 15.
2. 클래스(Class)와 객체 자바는 객체들을 이용하여 프로그래밍 한다. 그럼 객체를 어떻게 만드나? 바로 클래스를 이용하여 만든다. 클래스는 붕어빵틀이라고 생각하면 된다. 하나의 붕어빵틀(클래스)로 무수히 많은 붕어빵을(객체) 만들 수 있다. 푸들 클래스를 이용한다면 푸들1, 푸들2, 푸들3 객체를 만들 수 있다. 자 그런데 재밌는 것은, 자바안에서는 붕어빵틀이 각기 다른 스펙의 붕어빵을 만들어 낼 수 있다. 푸들1은 신장이 1M, 푸들2는 1.2M, 푸들3는 1.3M가 될 수도 있는 것이다. 클래스는 상태와 동작으로 구성된다. 푸들 클래스를 예로 들면, 신장, 털 색깔, 눈 크기 -> 상태 짖기, 꼬리 흔들기, 눈 깜빡거리기 -> 동작 클래스(푸들틀)를 정교하게 설계할수록, 정교한 객체(푸들)를 만들 수 있다. 2019. 12. 13.
1. JAVA(자바)는 객체지향언어다. JAVA는 객체지향언어다. 객체를 중요하게 생각하는 것이다. 요크셔 테리어, 주인, 산책로 모두 다 객체로 볼 수 있다. 위 세가지 요소를 조합하면, 다음 문장을 만들 수 있다. 요크셔 테리어가 산책로에서 주인과 걷고 있다. 요크셔 테리어를 푸들로 바꿔줄 수도 있다. 산책로를 해변으로 바꿔줄 수도 있다. 주인을 도둑으로 바꿔줄 수도 있다. 푸들이 해변에서 도둑을 쫓고 있다. 이렇게 JAVA를 사용하면, 객체들을 조작하여 무수한 것들을 할 수 있다. 그 자체가 프로그래밍이 된다. 또한, 각 객체는 독립적이기에 각각을 변경해도 다른 객체에 영향을 주지 않는다; 마음껏 수정이 가능하다는 것이다. 2019. 12. 12.