객체란? (Javascript VS Java)

도준혁·2022년 4월 21일
1

JavaScript 에서의 객체

자바스크립트에서의 객체란 데이터 타입 중의 하나이다. 키(key)와 값(value)로 데이터를 저장하는 하나의 데이터 타입이며 이 객체를 이용하면 모든 데이터를 정리할 수 있기 때문에 가장 많이 쓰는 타입중의 하나이다. 중괄호 안에서 키와 값을 정해주는 것으로써 정의된다.

//아래 정의한 사람은 '준혁'이라는 이름을 가진 29세 'male'이다.

let person = {name: '준혁', 
              gender: 'male',
              age: 29}

자바스크립트만 써왔던 나는 자바에 입문하며 자바에서의 객체에 대해 학습하며 엄청나게 큰 혼란이 오기 시작한다.

Java 에서의 객체

자바에서의 객체는 class를 의미하는 것 같다. Class는 하나의 데이터 원형이며 그 안에서 변수와 메소드를 가지면서 하나의 세계를 창조할 수 있다. 플라톤이 말하는 어떤 것에 대한 이데아를 정의하는 것이라고 느껴졌다. 객체에 관해서는 아직도 공부하는 중이고, 앞으로 몇 년간은 정확한 정의를 내리는 것에 실패할 것 같다. 객체와 객체를 정의함으로써 생기는 세계, 그 세계를 확장할 수 있는 방법에 관해서는 천천히 포스팅 하려고 한다.

오늘 하고 싶은 이야기는 바로

그래서 Java에서는 도대체 JavaScript의 객체 개념 없이 어떻게 데이터를 처리하는데??

정답은 바로 Hashmap이다. 자바스크립트에서는 Array, Object 까지의 데이터를 정의할 수 있지만 Java에서는 자체 메소드로 인메모리 저장소인 Hashmap을 제공한다. 바로 Hashmap에서 Key와 Value를 정의할 수 있으며 자바스크립트에서 본것과 똑같은 형태의 데이터가 안에 들어있는 것을 확인할 수 있다.

class ObjectJsVsJava{
	HashMap<String, String> person = new HashMap<>();
        person.put("name", "준혁");
        person.put("gender", "male");
        person.put("age", "29");

        System.out.println("person = " + person);
}

부디 저처럼 자바에서 Object를 계속 찍어보며 '왜 안나와!' 하시는 분이 줄었기를...

profile
ML Ops 와 백엔드를 개발하고 있는 도준혁입니다

0개의 댓글