• 미술과 객체지향 프로그래밍의 추상
    DEV 2024. 1. 27. 11:39

    바실리 칸딘스키 - 원 속의 원

    최초로 추상화를 그린 화가는 러시아 태생의 칸딘스키로 알려져 있다.

    컴퓨터 사이언스에선 추상이란 개념을 누가 먼저 도입했는지는 알 수 없지만, 미술과 컴퓨터 사이언스에서 사용하는 추상이라는 개념은 모두 같은 단어를 사용한다.

    영어는 abstract, 한자는 抽象(뺄 추, 코끼리 상) 

    미술과 프로그래밍에서 사용하는 추상이라는 개념은 서로 관계가 있는걸까?

    미술

    추상미술은 두 가지로 정의할 수 있다.

    첫 번째는 미술가가 형상을 생략, 단순화, 변형시키거나 주관적인 색채를 사용한 미술을 의미한다.

    두 번째는 형태로 나타낼 수 없는 것을 표현하거나, 감정, 느낌, 생각 등 눈에 보이지 않는 개념을 표현한 미술이다.

    프로그래밍

    프로그래밍 추상 또한 '사상'과 '일반화'라는 2가지 관점에서 정리된다.

    사상은 복잡한 대상의 몇 가지 성질을 버리고 특정한 성질에 주목하는 것

    사상

    일반화는 구체적인 대상으로부터 공통 성질을 추출해서 더욱 범용적인 개념으로 정식화하는 것

    일반화

    추상은 인간이 복잡한 문제에 집중할 때 사용하는 기초적인 원리

    • 사상은 부차적인 부분을 제거해 대상물의 본질을 드러낸다.
      이유는 복잡도가 줄어들어 진짜 문제에 집중할 수 있다.
      추상화한 개념은 쓸데없는 부분이 없고 사용하기 쉬우며 폭넓게 응용할 수 있다.
      - 예를 들어 우리가 게임을 만든다고 했을 때, 전사 캐릭터의 손 모듈을 만든다면 실제로 내 손이 할 수 있는 모든 기능을 모듈에 넣을 필요는 없다. 게임에서 필요한 무기를 들거나 공격하는 기능만을 구현하면 된다.
    • 일반화는 여러 가지 사항을 공통된 성질에 따라 그룹핑해서 같다고 간주하는 것이다.
      그렇게 하면 하나의 현상을 통해 학습한 것을 다른 상황에도 적용할 수 있다.
      - 게임을 예로 든다면 게임 시스템에서 매번 마법사, 전사의 손을 직접 사용하는 것이 아니라 실제로는 존재하지 않는 '손'이라는 일반화한 개념을 범용적으로 사용할 수 있다.
    • 프로그래밍에 은탄환은 없지만, 문제 해결에서 추상화하는 기법은 더 좋고 효율적인 해결방법을 도출하는 데 있어서 강력한 무기가 된다.
    • 복잡한 대상에 집중할 때는 사상한다.
      - 불필요한 것을 버리고 본질을 파악하도록 한다.
    • 다른 여러 개의 대상에 집중할 때는 일반화한다.
      - 공통된 성질을 찾아내고 공통점을 조합시켜 범용적인 개념을 구성한다. 

    추상화의 반대는 구체화

    • 구체는 이해하기 쉽지만 구체적 수준에서 개별 상황을 하나씩 따로따로 보아서는 무한히 많은 시간이 걸린다. 게다가 구체적이므로 응용이 통하지 않는다. 추상을 통해 많은 대상에 일률적인 공식을 적용할 수 있고 그렇게 해야 압도적으로 효율적인 생각을 할 수 있다.
    • 실제로 세상에 '돈'이라는 것은 존재하지 않지만, 사람들은 100원짜리 동전이나 5만원짜리 지폐 등을 일반화하고, 사상하여 일상생활, 비즈니스에서 사용한다. 돈이라는 추상화된 표현을 사용하지 않고 매번 구체화된 금액을 모든 대화에서 사용해야 한다면....

    미술과 프로그래밍

    위에서 언급한 미술과 프로그래밍의 추상에 대한 설명이 비슷하다는 느낌을 받는다.

     

    첫 번째는 미술가가 형상을 생략, 단순화, 변형시키거나 주관적인 색채를 사용한 미술

    사상은 복잡한 대상의 몇 가지 성질을 버리고 특정한 성질에 주목하는 것

     

    두 번째는 형태로 나타낼 수 없는 것을 표현하거나, 감정, 느낌, 생각 등 눈에 보이지 않는 개념을 표현한 미술

    일반화는 구체적인 대상으로부터 공통 성질을 추출해서 더욱 범용적인 개념으로 정식화하는 것

     

    아마도 프로그래밍과 미술에서의 추상은 완전히 같다고 할 순 없지만, 비슷한 의미로 사용되는 것 같다.

    오브젝트 책 표지에 칸딘스키의 추상화가 그려져 있는 이유이기도 한 것 같다.

    오브젝트 - 조영호

    미술 사조는 대략 사실주의 → 인상주의 후기인상주의로 흘러 왔다.

    사실주의에서 인상주의로 오게 된 이유 중 가장 큰 원인 중 하나는 카메라의 등장이었는데, 사진이 생기면서 더 이상 화가들이 실제와 똑같은 그림을 그릴 필요가 없어졌기 때문이다. 아래 그림은 인상주의 대표화가중 하나인 모네가 그린 인상 해돋이라는 그림.

    당시 평론가, 관객들이 조롱의 의미로 인상파라는 이름을 붙였는데 나중에는 미술 사조 중 하나가 되었다.

     

    클로드 모네 - 인상 해돋이

    인상주의 이후에는 야수파, 입체파, 표현주의, 추상주의 등 다양한 방식 미술 사조를 후기 인상주의, 현대 미술이라고도 하는데, 인상주의에서부터 시작했지만, 그 영향에서 벗어나 새로운 작품 세계를 확립하려고 한 예술 사조이다. 미술가들이 눈에 보이는 것 그대로 그리는 것이 아니라 주관적인 생각과 느낌을 자유롭게 표현하는 것에 중점을 두고 있고, 이것은 카메라는 하지 못하는 사람만이 할 수 있는 것이라 생각해 왔지만..

     

    추상화 그리는 로봇(Ai-Da)

    AI가 추상화도 그리는 요즘

    19세기 인상주의 화가들이 카메라로부터 받았을 도전을

    현대의 AI로부터 받고 있는 것처럼 보이는 현대 미술은 이번에는 어떻게 변화할 것인지? 프로그래밍 또한 어디로 흘러갈 것인지?

    해커와 화가의 공통점은 우선 그들이 둘 다 무언가를 창조한다는 사실이다. 작곡가, 건축가, 작가와 마찬가지로 해커와 화가는 좋은 무엇을 만들어 내기 위해서 노력한다. 그들은 연구를 수행하지는 않지만, 창조의 과정에서 훨씬 좋은 새로운 기술을 발견하기도 한다.
    해커와 화가 p.40

    Ref.

    728x90
go.