기타

[글쓰기 클럽 1기] 2. 자바의 특징 중 내가 가장 좋아하는 특징

F12:) 2024. 4. 15. 18:58

 

내가 좋아하는 언어는 단연 자바다. 백엔드 개발자에 관심을 갖기 전부터도 그랬고 현재도 마찬가지다.(사실 지금은 이제 할 줄 아는 언어가 자바밖에 없는 것 같기도..)

 

그 시절(개발자에 대한 꿈이 없을 때)에는 자바의 캡슐화, 상속, 추상화, 다형성(a.k.a 캡상추다) 이 어렵기만 했다.

그런데도 왜 자바를 좋아했냐고?? 어려움 속에서의 놀라움이 있었기 때문이다.

 

가장 먼저 파이썬으로 언어를 시작했던 나는 너무 쉬웠다. 지금보면 내가 좁은 시야로 보았기에 쉬웠지만.. 자바에 비해 쉬운건 사실이다. 그렇게 프로그래밍 언어를 배우고 컴퓨터공학과에 들어왔을 때 자바를 입문했었다. 파이썬보다 코드짜기가 어려웠으며.. List를 배우기 전까지 배열로 사용해야해서 참 애를 먹었다. 자바로 알고리즘을 짜다보면 파이썬의 list가 생각나는 일이 빈번했으니까.

 

 

그런데도 파이썬보다 더 정형화되어 보였다. 실제 눈에 그렇지는 않았지만 코드가 더욱 탄탄하고 군더더기 없는 것 같았다. 그리고 또 뭔가 vs code로 진행하는 파이썬(이 때는 파이참을 몰랐었다..)보다 IntelliJ로 자바 작성하는게 간지도 더 났다 ㅋㅅㅋ.

 

 

결국 애증에서 시작한 자바라고 할 수 있겠다! 자바는 어렵고 힘들었다. 하지만, 어려운 문제를 푸는 것을 좋아하는 사람이 있다. 그 문제를 아무리 잡고 있어도 진전이 없어지지만, 정말정말 갖은 노력 끝에 그 문제를 풀거나 진전이 있을 때의 희열은 말로 할 수 없다.

 

 

그래서 내가 좋아하는 자바의 특징은.. 놀랍게 상속이다. 항상 자바에서 상속에 관련된 코드를 짜면 왜 도통 2개의 클래스를 상속할 수 없는지 이해할 수 없었다. 맨날 불평불만 하면서, 파이썬이랑 C를 부러워했던 기억이 있다.

 

그런데 뭔가 딱 짚어서 말할 순 없지만, 왜 그랬는지 이해할 것 같은...?

다중 상속 대신, 다중 구현이라는 기능을 두었음으로 대체하고 인터페이스를 구현함으로써 상속보다 더 좋은 게 느껴진다..! (그런데 말은 못하는...)

 

 

 

자바 최고....!!!!