자바 관련 내용으로 구글링을 하다 보면 위와 같이 생긴 친구를 본 적 있을 거다.
아마 자바 공식 마스코드다. 이름은 듀크다.
한국은 자바공화국이라고 해서 취업하고 싶은 마음에 자바를 시작했다.
처음 코딩을 접했을 때는 C 학부 기간 동안 주 언어는 Python이었다.
C를 먼저 배우고 파이썬을 배웠을 때 너무 편하고 쉽게 코딩할 수 있어서 파이썬을 찬양하면서
코딩테스트 준비도 첫 서버 개발도 Django였다.
암튼 백엔드 개발자로 취업하려면 Spring을 해야 한다는 주변 말에 시작하게 됐다.
프로그래밍 언어 국룰인 Hello World
이거 하나 찍는데
System.out.println("Hello World")
너무 길다. sout
이라는 명령어를 몰랐던 초반에
나는 진짜 자바가 미웠다. 손가락도 아프고 매일 징징징징zzzz
TMI 그만하고 암튼 지금은 자바가 제일 좋다.
자바 하면 자바를 모르는 개발자라도 객체지향언어는 자바라는 소리를 한 번쯤은 들어봤을 거다.
아님 말고요😁
나도 한번은 들어봤다.
그래서 객체지향이 뭔데?
(잡담이니까 Skip 가능)
솔직히 말 그대로 객체를 지향한다는 말이다.
난 ㅋㅋㅋ 처음에 객체지향언어 특징을 클래스가 있다, 없다로 외웠다.
누가 너 객체지향언어가 뭔지 알아? C++ 객체지향이야? 파이썬은 객체지향언어야?
C++ 클래스 만들 수 있음? 파이썬 클래스 만들 수 있음?
만들수 있어? 그럼 객체지향언어다. 라고 했다.
지금 돌아보면 나는 파이썬을 객체지향언어로 사용하지 않았다.
사용하면서도 객체지향이 뭔지 몰랐다. 관심도 없었다.
자바에 입문하고 아, 이게 진짜 객체지향이라는 건가?
근데 뭔데 다 new
를 붙여서 만들고 뭔데 대문자로 시작하는 거야
파이썬의 특징인 클래스는 대문자로 시작한다. (파스칼 케이스)
정도는 다행히 알고 있었기 때문에 자바도 같다는 얘기를 듣고 기분이 좋았다.
나는 이 정도에 성취감을 느끼는 코딩러다 :)
자바 개발자가 되고 싶다는 마음 하나로 코딩테스트 준비 언어도 자바로 바꿨다.
파이썬으로 10줄짜리가 30줄이 되는 매직~ 을 경험할 수 있습니다.
내가 자바공부를 시작하면서 본격적으로 공부를 시작한 건지
아니면 자바가 주는 매력에 공부하게 된 것인지는 모른다.
뭐가 되었든 자바를 공부하면서 이렇게 각 코드를 설계해야지 유지보수
또는 확장성이 아주 좋을 것 같다를 느꼈다.
psvm
이라던지static
을 붙여야 하거나 그렇지 않다면 인스턴스를 생성해서 메서드를 호출해 사용해야한다.듀크(Java) : 클래스로 만들어서 코드 안 짤거면 처리 안해줌
이게 전부 다 위에서 클래스를 만들 수 있으면 객체지향언어라고 외웠던 나에게
자바는 그런 클래스를 강제하고 쉽게 참고할 수 있는 정보들이 에헤이~
객체 그렇게 만들어서 쓰는 거 아닌데 하면서 감사히 알려주시는 문화가 정말
객체를 "지향" 한다는 의미가 딱 맞는 언어이다.
어느 언어든지 각 언어의 특성에 맞게 클린코드를 작성할 수 있을 것이다.
하지만 내가 생각하는 클린코드는 "읽기 쉽고 이해하기 쉬운 코드" 이다.
자바의 객체지향 세계관을 따르다 보면 프로그래밍 세계가 아닌 현실세계와
관계 형성, 흐름이 닮아있거나 쉽게 접목해 생각할 수 있다.
이러한 특성이 더 읽기 쉬운 클린코드를 만들 수 있다고 생각한다.
반대로 클린코드를 작성했더니? 객체지향을 잘 준수한 코드가 되는 경우도 있다.
물론 두 개를 다 의식하고 코드를 작성하는 것이 맞지만, 이 둘의 시너지가 너무 잘 맞는
언어인 자바였다.
이게 내가 자바에 잡힌 이유다.
아직 나는 내가 좋아하는 이유와 걸맞게 코드를 작성하지는 못한다.
언젠가
"와~ 드코딩님 코드 너무 쉽게 읽힌다."
라고 듣는 날엔 그날 안주는 필요없다.
내가 말이야~ 어~ 왜 그렇게 코드를 썻냐면~
다만 같이 먹는사람에 귀에 피가 날 뿐 😊
사실 너무 코드가 길고 작성하는데 많은 시간과 노력이 필요하다.
아 파이썬이었으면 벌써 끝났는데 하고 아 이것도 지정해줘야 해? 이것도 몰라?
몰라~ 해줘~ 하고 싶은 마음을 꾹 참으려고 한다.
참으면 나중에 다시 볼 때, 다른 작업하는 누군가는 편할 것이다.
고게 내가 자바에 잡힌 이유다.
귀찮아지면 다른 글로 찾아올지도