spring boot에서 DB 접속할 때 hikari cp로 연결해서 사용할 수 있다.


JdbcTemplate.query로 DB 연결 후 실행하기 전에 boot가 초기화할 때부터 DB에 붙고 싶다면.

spring.datasource.initializer의 값을 true로 설정한다.

spring.datasource.initialize=true
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.hikari.jdbc-url=jdbc:oracle:thin:@1.1.1.1:1521:oradb
spring.datasource.hikari.username=username
spring.datasource.hikari.password=pssword
spring.datasource.hikari.connection-timeout=10000
spring.datasource.hikari.validation-timeout=10000


Posted by 김용환 '김용환'
레디 플레이어 원은 어른 피터팬의 동심(?)을 위한 영화이고 보고 즐거웠다. 




좋은 대사


어떤 이들은 톨스토이의 전쟁과 평화를 읽고 단순한 모험 이야기라고 생각하며, 다른 어떤 이들은 껌종이에 쓰인 성분표를 읽고 우주의 비밀을 풀 수 있다.





책도 있는지는 처음 알았다.


(번역본)

http://www.yes24.com/24/goods/17619290?scode=032&OzSrank=1


(원본)

https://www.amazon.com/Ready-Player-One-Ernest-Cline/dp/0307887448


'영화를 보고' 카테고리의 다른 글

레디 플레이어 원  (0) 2018.04.04
칠드런 오브 맨  (0) 2016.10.25
[마이크롭 앤 가솔린]  (0) 2016.07.02
주먹왕 랄프  (0) 2016.03.18
세기의 매치  (0) 2016.03.04
빅쇼트를 보고  (0) 2016.03.03
Posted by 김용환 '김용환'



ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다



보통 이 에러가 발생하면 SQL 문법 에러이다. SQL 툴에서 잘 동작하는지 확인하고.


아니면, 세미콜론(;)이 뒤에 붙어 있는지 확인하면 좋다.

Posted by 김용환 '김용환'

리눅스에서 사용되는 sort와 MacOS의 sort 옵션이 조금 다르다.


따라서 리눅스의 sort 유틸을 사용하고 싶다면. 다음 coreutils 패키지를 설치한다.


[~] brew install coreutils




리눅스에서는 잘된 커맨드가 안먹을 때.. 


[~] du -ss Downloads/*  | sort -h

sort: invalid option -- h

Try `sort --help' for more information.




gsort를 사용하면 원하는 sort 기능을 사용할 수 있다.


[~] du -ss Downloads/*  | gsort -h

0 Downloads/2

1 Downloads/Melon




[~] gsort

3

2

1

asdfsaf

^D


1

2

3

asdfsaf

Posted by 김용환 '김용환'


ansible 설정 파일 배포시 배포 서버의 host 이름을 얻고 싶다면 다음과 같이 ansible_fqdn을 사용해야 한다. 



-Djava.rmi.server.hostname={{ ansible_fqdn }}"




{{ host }}, {{ ansible_eth0.ipv4.address }} 는 안된다..ㅡ.ㅡ;;


Posted by 김용환 '김용환'

[펌] vault

scribbling 2018.04.02 19:04


애플리케이션에서 DB userid/password와 같은 데이터를 저장하면 소스가 해커에 의해 탈취되면 위험할 수 있다.

이를 보호할 수 있는 오픈 소스로 vault가 있다. 


https://www.vaultproject.io/intro/getting-started/first-secret.html



아마존에서는 KMS로, 애저에서는 Vault를 사용해 클라우드 서비스를 진행하고 있다.

https://docs.microsoft.com/ko-kr/azure/architecture/multitenant-identity/key-vault




spring 연동이 있어서 Spring 자바 개발자에게는 편리할 것 같다.. (곧 적용할 예정이다.)


https://docs.spring.io/spring-vault/docs/current/reference/html/index.html



기본은 파일 기반인데, mysql DB 등 여러 스토리에 연동 가능하다.

https://www.vaultproject.io/docs/secrets/databases/mysql-maria.html


https://github.com/hashicorp/vault/blob/master/website/source/docs/configuration/storage/mysql.html.md



Posted by 김용환 '김용환'


가상 클러스터 모드 (로컬 모드)의 아키텍처



https://jaceklaskowski.gitbooks.io/mastering-apache-spark/content/spark-local.html




로컬 모드를 때때로 가상 클러스터(pseudocluster) 실행 모드라고 한다. 또한 해당 모드는 분산되지 않고 단일 JVM 기반 배포 모드로서 스파크는 드라이버 프로그램, 익스큐터, LocalSchedulerBackend, 마스터와 같은 모든 실행 컴포넌트를 단일 JVM에 배포한다. 로컬 모드는 드라이버 자체가 익스큐터로 사용되는 유일한 모드이다. 다음 그림은 스파크 잡 제출과 관련된 로컬 모드의 하이 레벨 아키텍처를 보여준다.








Posted by 김용환 '김용환'


spark job을 제출할 때 가장 중요한 요소는 메모리와 core 수이다.




관련 설정은 다음과 같은데. 아래 블로그에 잘 설명되어 있다.





http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/



이를 잘 이해하고 설명한 한글 내용은 다음 블로그에 있다.  



http://kysepark.blogspot.kr/2016/04/how-to-tune-your-apache-spark-jobs-part.html





그리고 스파크 내부 아키텍처에 관련 설명은 다음 url을 살펴본다.


https://0x0fff.com/spark-architecture/

https://0x0fff.com/spark-architecture-shuffle/






Posted by 김용환 '김용환'

git log 예제

svn 2018.03.29 11:01


https://github.com/adamfisk/LittleProxy를 clone해서 git log 예를 살펴본다.




git log


$ git log

commit 70edbe1c502d79449fb5ceb9d00cca6a0759d56f

Merge: ac8a466 1792fac

Author: adamfisk <afisk@bravenewsoftware.org>

Date:   Mon Sep 25 06:43:29 2017 -0700


    Merge pull request #388 from shs96c/guava-23


    Bump guava to version 23


commit 1792facf4799347b9ae841bd577917f4b0296fd7

Author: Simon Stewart <simon.m.stewart@gmail.com>

Date:   Thu Aug 17 22:21:02 2017 +0100


    Bump guava to version 23


commit ac8a466f6ca9db64efecbc72972502cfe6ec19d5

Merge: 47bee7b 9630e71

Author: Jason Hoetger <jekh@outlook.com>

Date:   Sun Mar 5 14:34:20 2017 -0800


    Merge pull request #355 from jekh/add-mitm-links-to-readme


    1.1.2 doc update & MITM links


commit 9630e71af4e5708ce87deb3d8b63a6a7b4a9019c

Author: Jason Hoetger <jekh@outlook.com>

Date:   Sun Mar 5 11:31:09 2017 -0800


    Added MITM links to readme


commit 47bee7b5e44b9ec514cd55be919aa3512abb74dc

Author: Jason Hoetger <jekh@outlook.com>

Date:   Sun Mar 5 11:07:19 2017 -0800


    [maven-release-plugin] prepare for next development iteration


commit f1ce0b6428bc86f1137a82ea6f9dae93a393f3c9

Author: Jason Hoetger <jekh@outlook.com>

Date:   Sun Mar 5 11:06:01 2017 -0800


    [maven-release-plugin] prepare release littleproxy-1.1.2


commit 27de86026edf4e1e86c9327a933237aae5a3a0bb

Merge: 070e6c1 31c19ff

Author: Jason Hoetger <jekh@outlook.com>

Date:   Sun Mar 5 10:51:47 2017 -0800


    Merge pull request #352 from jekh/dependency-updates


    Updated guava, dnsjava, slf4j, commons-lang, and test dependencies


commit 070e6c11574ebd1b0c2edb5f87421664d8b8db18

Merge: d1dffa8 08a36bc

Author: Jason Hoetger <jekh@outlook.com>

Date:   Sun Mar 5 10:47:37 2017 -0800


    Merge pull request #351 from jekh/fix-memory-leak-on-initial-request







너무 길어 한줄로..


$ git log --oneline
70edbe1 Merge pull request #388 from shs96c/guava-23
1792fac Bump guava to version 23
ac8a466 Merge pull request #355 from jekh/add-mitm-links-to-readme
9630e71 Added MITM links to readme
47bee7b [maven-release-plugin] prepare for next development iteration
f1ce0b6 [maven-release-plugin] prepare release littleproxy-1.1.2
27de860 Merge pull request #352 from jekh/dependency-updates
070e6c1 Merge pull request #351 from jekh/fix-memory-leak-on-initial-request
d1dffa8 Merge pull request #350 from luleyl/Keep-Alive_fixes
31c19ff Updated guava, dnsjava, slf4j, commons-lang, and test dependencies
08a36bc Fixing memory leak on initial request when HttpObjectAggregator is enabled
f816f3e Fix the repeated TimeOut response.
55fd04d Demonstrate that the TimeOut response is repeated.
43ee962 Merge pull request #349 from jekh/update-netty
a01674b Removed Transfer-Encoding portion of test due to change in netty behavior from netty PR#6270
f4fa693 Updated netty version to avoid false positive leak detection
2371cd7 Merge pull request #346 from jekh/allow-requests-to-origin-server
4ab9829 Added allowRequestsToOriginServer option to Bootstrap to allow handling origin-form requests
dfdb375 Merge pull request #343 from danielkyu/bug-format-accept-encoding-remove-sdch
6e0d253 Support for removing sdch encoding regardless of whether it is stored as a single/multi value
b92ed54 Merge pull request #334 from jekh/fix-invalid-client-request
faba98f Fixed test failure issue
7062538 Fixed bug where the 'Accept-Encoding' header could be improperly formatted after removing the 'sdch' encoding
b0792ae Responding with 400 and closing connection when client sends an invalid request
27dc4f4 Merge pull request #333 from jekh/update-docs
86e75d7 Update readme for 1.1.1 release
904aea3 [maven-release-plugin] prepare for next development iteration
098e16a [maven-release-plugin] prepare release littleproxy-1.1.1
7bf4483 Merge pull request #331 from jekh/remove-ossrh-parent-pom
ee7c934 Merge pull request #328 from jekh/remove-commons-dependencies
0d16280 Merge pull request #330 from jekh/fix-npe-from-invalid-request
3382c6e Replaced deprecated ossrh parent pom with updated nexus-staging-maven-plugin config. Updated plugin versions.
f1a86d4 Returning a Bad Gateway to clients when receiving an indecipherable response from upstream servers
e8af6a5 Added test for invalid server responses
7f5a850 Update tracking of current HTTP request in ProxyToServerConnection to avoid NPEs
2f13621 Removed redundant isHead method
034f80b Made commons-cli an optional dependency, since it is only used with the standalone Launcher
f65a0a7 Replaced commons-io and commons-code dependencies with guava and jdk equivalents
8ce850c Merge pull request #326 from jekh/update-dependencies-and-cleanup
da03f5d Merge pull request #327 from jekh/javadoc-error-fixes
a3d9123 Replaced self-closing <p/> tags with <p> to fix javadoc errors
c2ddbc1 Made remaining immutable variables in DefaultHttpProxyServer final
7acb652 Updated netty dependencies
96f09e4 Merge pull request #299 from jekh/remove-java-6
91bb503 Bumped selenium version to 2.53.1





브랜치 보이도록 decoreate 옵션을 사용한다

$ git log --oneline --decorate
70edbe1 (HEAD -> master, origin/master, origin/HEAD) Merge pull request #388 from shs96c/guava-23
1792fac Bump guava to version 23
ac8a466 Merge pull request #355 from jekh/add-mitm-links-to-readme
9630e71 Added MITM links to readme
47bee7b [maven-release-plugin] prepare for next development iteration
f1ce0b6 (tag: littleproxy-1.1.2) [maven-release-plugin] prepare release littleproxy-1.1.2
27de860 Merge pull request #352 from jekh/dependency-updates
070e6c1 Merge pull request #351 from jekh/fix-memory-leak-on-initial-request
d1dffa8 Merge pull request #350 from luleyl/Keep-Alive_fixes
31c19ff Updated guava, dnsjava, slf4j, commons-lang, and test dependencies
08a36bc Fixing memory leak on initial request when HttpObjectAggregator is enabled
f816f3e Fix the repeated TimeOut response.
55fd04d Demonstrate that the TimeOut response is repeated.
43ee962 Merge pull request #349 from jekh/update-netty
a01674b Removed Transfer-Encoding portion of test due to change in netty behavior from netty PR#6270
f4fa693 Updated netty version to avoid false positive leak detection
2371cd7 Merge pull request #346 from jekh/allow-requests-to-origin-server
4ab9829 Added allowRequestsToOriginServer option to Bootstrap to allow handling origin-form requests
dfdb375 Merge pull request #343 from danielkyu/bug-format-accept-encoding-remove-sdch
6e0d253 Support for removing sdch encoding regardless of whether it is stored as a single/multi value
b92ed54 Merge pull request #334 from jekh/fix-invalid-client-request
faba98f Fixed test failure issue
7062538 Fixed bug where the 'Accept-Encoding' header could be improperly formatted after removing the 'sdch' encoding
b0792ae Responding with 400 and closing connection when client sends an invalid request
27dc4f4 Merge pull request #333 from jekh/update-docs
86e75d7 Update readme for 1.1.1 release
904aea3 [maven-release-plugin] prepare for next development iteration
098e16a (tag: littleproxy-1.1.1) [maven-release-plugin] prepare release littleproxy-1.1.1
7bf4483 Merge pull request #331 from jekh/remove-ossrh-parent-pom





그래프로 보고 싶다면 graph 옵션을 사용한다.

$ git log --oneline --decorate  --graph
*   70edbe1 (HEAD -> master, origin/master, origin/HEAD) Merge pull request #388 from shs96c/guava-23
|\
| * 1792fac Bump guava to version 23
|/
*   ac8a466 Merge pull request #355 from jekh/add-mitm-links-to-readme
|\
| * 9630e71 Added MITM links to readme
|/
* 47bee7b [maven-release-plugin] prepare for next development iteration
* f1ce0b6 (tag: littleproxy-1.1.2) [maven-release-plugin] prepare release littleproxy-1.1.2
*   27de860 Merge pull request #352 from jekh/dependency-updates
|\
| * 31c19ff Updated guava, dnsjava, slf4j, commons-lang, and test dependencies
* |   070e6c1 Merge pull request #351 from jekh/fix-memory-leak-on-initial-request
|\ \
| * | 08a36bc Fixing memory leak on initial request when HttpObjectAggregator is enabled
| |/
* |   d1dffa8 Merge pull request #350 from luleyl/Keep-Alive_fixes
|\ \
| |/
|/|
| * f816f3e Fix the repeated TimeOut response.
| * 55fd04d Demonstrate that the TimeOut response is repeated.
|/
*   43ee962 Merge pull request #349 from jekh/update-netty
|\
| * a01674b Removed Transfer-Encoding portion of test due to change in netty behavior from netty PR#6270
| * f4fa693 Updated netty version to avoid false positive leak detection
|/
*   2371cd7 Merge pull request #346 from jekh/allow-requests-to-origin-server
|\
| * 4ab9829 Added allowRequestsToOriginServer option to Bootstrap to allow handling origin-form requests
|/
*   dfdb375 Merge pull request #343 from danielkyu/bug-format-accept-encoding-remove-sdch
|\
| * 6e0d253 Support for removing sdch encoding regardless of whether it is stored as a single/multi value
| * faba98f Fixed test failure issue
| * 7062538 Fixed bug where the 'Accept-Encoding' header could be improperly formatted after removing the 'sdch' encoding
* |   b92ed54 Merge pull request #334 from jekh/fix-invalid-client-request
|\ \
| |/
|/|
| * b0792ae Responding with 400 and closing connection when client sends an invalid request
|/
*   27dc4f4 Merge pull request #333 from jekh/update-docs
|\
| * 86e75d7 Update readme for 1.1.1 release
|/
* 904aea3 [maven-release-plugin] prepare for next development iteration
* 098e16a (tag: littleproxy-1.1.1) [maven-release-plugin] prepare release littleproxy-1.1.1
*   7bf4483 Merge pull request #331 from jekh/remove-ossrh-parent-pom
|\
| * 3382c6e Replaced deprecated ossrh parent pom with updated nexus-staging-maven-plugin config. Updated plugin versions.
* |   ee7c934 Merge pull request #328 from jekh/remove-commons-dependencies
|\ \
| * | 034f80b Made commons-cli an optional dependency, since it is only used with the standalone Launcher
| * | f65a0a7 Replaced commons-io and commons-code dependencies with guava and jdk equivalents




특정 기간부터 보고 싶다면. since와 until를 사용한다. (before, after도 사용할 수 있다)

$ git log --oneline --decorate --graph --since=10.weeks



$ git log --oneline --decorate --graph --until=1.days --since=5.years




특정 파일보고 싶다면. --를 사용한다.


$ git log -- COPYRIGHT.txt

commit 1627266fc58b4a1c2c3ba1d027389e55f9906a30

Author: afisk <a@littleshoot.org>

Date:   Sat Oct 24 22:45:04 2009 +0000


    Initial implementation of LittleShoot proxy based on Netty core





특정 커미터의 로그를 보고 싶다면 committer를 사용한다.


$ git log --oneline --decorate --graph --committer adamfisk

* 58765c5 Merge pull request #279 from jekh/upgrade-dependencies

* 075ec1d Merge pull request #278 from jekh/update-surefire-settings

* c3a4cec Merge pull request #211 from jekh/fix-ipv6-parsing

* 0d0c35b Merge pull request #191 from jekh/travis-ci-update

* f5c8ea7 Merge pull request #183 from jekh/add-abort-shutdown

* 7409b0b Merge pull request #187 from compcruz/master

* 2bf48bc Merge pull request #170 from jekh/request-sent-callback-after-content-sent

* bf3fd76 Merge pull request #172 from schoeffm/master

* 4c60fa8 Merge pull request #179 from jekh/remove-shutdown-hook-on-stop

* e3acc48 Merge pull request #176 from jekh/update-maven-plugin-versions

* 91db6fb Merge pull request #163 from jekh/allow-port-zer





stat를 사용하면 커밋에 대한 diff 정보를 간략히 볼 수 있다. 


 git log --stat

commit 70edbe1c502d79449fb5ceb9d00cca6a0759d56f

Merge: ac8a466 1792fac

Author: adamfisk <afisk@bravenewsoftware.org>

Date:   Mon Sep 25 06:43:29 2017 -0700


    Merge pull request #388 from shs96c/guava-23


    Bump guava to version 23


commit 1792facf4799347b9ae841bd577917f4b0296fd7

Author: Simon Stewart <simon.m.stewart@gmail.com>

Date:   Thu Aug 17 22:21:02 2017 +0100


    Bump guava to version 23


 pom.xml                                                               | 2 +-

 src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java | 4 ++--

 2 files changed, 3 insertions(+), 3 deletions(-)


commit ac8a466f6ca9db64efecbc72972502cfe6ec19d5

Merge: 47bee7b 9630e71

Author: Jason Hoetger <jekh@outlook.com>

Date:   Sun Mar 5 14:34:20 2017 -0800


    Merge pull request #355 from jekh/add-mitm-links-to-readme


    1.1.2 doc update & MITM links


commit 9630e71af4e5708ce87deb3d8b63a6a7b4a9019c

Author: Jason Hoetger <jekh@outlook.com>

Date:   Sun Mar 5 11:31:09 2017 -0800


    Added MITM links to readme


 README.md | 8 +++++++-

 1 file changed, 7 insertions(+), 1 deletion(-)


commit 47bee7b5e44b9ec514cd55be919aa3512abb74dc

Author: Jason Hoetger <jekh@outlook.com>

Date:   Sun Mar 5 11:07:19 2017 -0800


    [maven-release-plugin] prepare for next development iteration


 pom.xml | 4 ++--

 1 file changed, 2 insertions(+), 2 deletions(-)


commit f1ce0b6428bc86f1137a82ea6f9dae93a393f3c9




 

최신 로그 해시만 보려면 다음과 같이 reflog를 사용한다.


$ git reflog

70edbe1 HEAD@{0}: clone: from https://github.com/adamfisk/LittleProxy.git

$ git log

commit 70edbe1c502d79449fb5ceb9d00cca6a0759d56f

Merge: ac8a466 1792fac

Author: adamfisk <afisk@bravenewsoftware.org>

Date:   Mon Sep 25 06:43:29 2017 -0700


    Merge pull request #388 from shs96c/guava-23


    Bump guava to version 23



Posted by 김용환 '김용환'


 조세 부담의 원칙이 궁금해서 공부하던 차에 블로그 문을 닫은 morgin님의 글이 아직 구글 캐시에 남아 있었다..

나한테 좋은 글이 되는 글이 펌질한다.



http://webcache.googleusercontent.com/search?q=cache:D8mIY4PIoFEJ:m.blog.naver.com/cto_hwangga/220848597667+&cd=1&hl=ko&ct=clnk&gl=kr



어쩌면 조세론은 재정학에서 가장 중요한 부분인지도 모르겠다. 과거에는 조세를 이용해 재정 수요를 충당하는 데만 사용했지만 현대 국가에서는 조세 정책이 여러 경제적 효과를 발생시킨다. 그래서 재정론이나 재무행정과 함께 깊이 공부해야 할 부분. 여기서는 이준구 교수님의 책에 나오는 내용 중 메모해둘 만한 부분들을 정리해둔다.



1. 바람직한 조세제도의 요건(354~355)




① 조세부담의 공평한 분배: 조세부담이 국민들 사이에 (실질적으로) 공평하게 분배되어야 한다.


② 경제적 효율성: 조세의 부과는 자원배분의 비효율성을 유발하므로, 교란으로 인한 경제적 효율성의 상실을 최소화해야 한다.


③ 행정적 단순성: 행정 비용 최소화


④ 신축성: 경제적 여건 변화에 쉽게 반응할 수 있어야 한다.


⑤ 정치적 책임성: 조세로 인한 부담이 명확하게 제시되어 이에 대한 유권자의 선택과 비판을 받아야 한다.


⑥ 확실성: 조세 부과와 징수 과정이 법률과 규정에 의해 확실하게 집행된다는 확실성이 있어야 한다.






2. 공평한 조세부담의 원칙




공평한 조세제도가 되기 위해서 누구에게 얼마만큼의 조세부담을 지우어야 하는지의 기준이 필요하다. 이를 위해 두 가지 접근법이 제시된다. ① 편익원칙과 ② 능력원칙.




1) 편익원칙(benefit principle)




각 납세자가 공공서비스로부터 받은 편익에 비례하도록 조세부담을 분배하는 것이 공평하다고 보는 접근법(356). 빅셀의 자발적 교환(voluntary exchange)의 재정이론에 기반하고 있다(357). 사용자(재화로부터 편익을 얻는 사람)가 비용을 지불하는 사용재처럼, 공공서비스도 그로부터 편익을 얻는 사람이 비용을 부담해야 한다는 원리이고, 이것이 바로 자발적 교환의 이론으로부터 도출되는 결론이다.




납세자의 자발적 협조를 이끌어낼 수 있는 접근법이지만, 현실적으로 편익원칙을 채택하기는 어렵다. 공공재의 특성에 따라서 공공서비스로부터 누가 편익을 얻는지를 판단하는 것이 어렵기 때문이다. "무임승차를 하려는 납세자들의 전략적 행위 때문에 편인원칙의 엄격한 적용이 어려워지는 문제가 생기는 것이다(357)."




또한 편익원칙을 엄격하게 고수하는 조세제도의 경우, 조세제도의 또 다른 중요한 목적 중 하나인 소득재분배의 효과를 기대할 수 없다(357).




다만 정부가 제공하는 재화나 서비스 중에도 실제로는 사용재의 성격을 갖는 것들이 있는데(수도사용료나 지하철요금 등) 이런 경우에는 편익원칙에 따라 조세부담을 분배할 수 있다(357). 그리고 실제로 이러한 재화·용역에 대해서는 기본적으로 편익원칙에 따라 조세부담을 지운다.




2) 능력원칙(ability-to-pay principle)




납세자의 담세능력에 따라 부담이 분배되는 것이 공평하다고 보는 접근법(358). 현실 상에서 보이는 대부분의 조세제도는 이 원칙을 기반으로 하고 있다.




이 원칙의 장점은 "조세제도를 운영하는 과정에서 재분배 목표를 추구할 수 있게 된다는 데 있다(358)." 반면 편익과 부담이 서로 일치하지 않으므로 납세자들의 자발적 협조를 얻기 힘들다는 단점이 있다(358).




"대부분의 나라에서 원칙적으로 능력원칙을 채택하고, 편익원칙은 사용재의 성격이 강한 재화나 서비스의 분배와 관련해 제한적으로 적용하고 있다(358)."




능력원칙의 경우도 구체적으로는 두 가지 기준이 있다.




(i) 수평적 공평성(horizontal equity): 똑같은 경제적 능력의 소유자는 똑같은 세금부담을 져야 한다는 원칙(359).


(ii) 수직적 공평성(vertical equity): 더 큰 경제적 능력을 보유하고 있는 사람일수록 더 많은 세금을 내도록 해야 한다는 원칙(359).




(i)이 포괄적인 원칙이라면, (ii)는 현대 조세제도의 누진세 제도를 정당화하는 원칙이라 할 수 있다. (i)에 의해 동일한 경제적 능력을 소유한 이는 동일한 조세부담을 져야 한다는 결론이 도출되지만, 서로 다른 경제적 능력을 가진 사람들 사이에 '어떻게' 조세부담을 다르게 배분할 것인지는 도출되지 않는다. (ii)는 그에 대한 답변이다.




"한 가지 언급해 두어야 할 점은 수직적 공평성의 원칙과 앞에서 본 수평적 공평성의 원칙 사이에 불가분의 관계가 존재하고 있다는 사실이다. 어떤 조세제도가 수직적 공평성을 충족하지 못하고 있을 때, 수평적 공평성이나마 충족되어야 차선의 결과를 기대할 수 있는 것은 결코 아니다. 수직적 공평성이 결여된 상황에서 수평적 공평성의 원칙만을 충족한다는 것은 기껏해야 변덕스런 차별대우를 방지한다는 것 이상의 의미를 갖지 못한다(360)."




다시 말하면 (i)은 조세제도의 공평성이 갖춰지기 위해서 최소한으로 지켜져야 할 원칙이라면, (ii)는 더 바람직한 조세제도의 공평성을 위한, 즉 실질적 조세 공평성을 위해 갖춰져야 할 원칙이라 할 수 있다.




과거의 조선왕조는 (i)마저도 잘 지켜지지 않는 조세제도를 가지고 있었다. 담세력이 가장 높은 집단은 당연히 양반이었지만(상당수가 대지주거나 높은 녹봉을 받는 관료) 이들은 오히려 조세부담을 덜 졌다. 그나마 조세 자체(경작하는 땅에 대해서 국가에 바치는 세금)에서는 (i)이 어느 정도 지켜졌지만, 실질적인 조세 제도의 하나로 볼 수 있는 공납과 요역에서 양반들의 부담은 거의 없었다(조선의 수취체제는 조세, 공납, 요역으로 이루어졌다). 이를 보면 (i)은 정당성을 갖는 조세 제도가 최소한 준수해야 하는 원칙임을 알 수 있다.




능력원칙을 기준으로 하여 조세부담을 배분할 때 문제가 되는 것은 똑같은 "경제적 능력"을 어떻게 측정하는가이다. 이에 대해서는 다음 글에 정리를 하기로 한다.






[참고서적]


이준구, 『재정학』, 다산출판사(2008)





2. [재정학] 조세론 : 기본원리 (2) 경제적 능력


http://webcache.googleusercontent.com/search?q=cache:3OIQJIgbtj0J:blog.naver.com/PostView.nhn%3FblogId%3Dcto_hwangga%26logNo%3D220854276428%26categoryNo%3D225%26parentCategoryNo%3D0%26viewDate%3D%26currentPage%3D1%26postListTopCurrentPage%3D1%26from%3Dsearch+&cd=2&hl=ko&ct=clnk&gl=kr





1. 경제적 능력의 평가(360~365)




능력원칙의 적용을 위해서는 경제적 능력이 평가되어야 한다. 원칙적으로는 납세자가 누리는 경제적 복지(welfare) 수준이 경제적 능력의 판별기준으로 가장 이상적이지만, 주관적 개념이기에 측정이 어렵다. 따라서 경제적 복지와 밀접한 관련을 갖는 대리변수를 이용해 경제적 능력을 측정하는 방법이 사용된다(361).




① 소득




현실적으로 가장 많이 사용되고 객관적으로 보이지만, 높은 소득은 때로 '열심히 일 한 보상'일 가능성도 있다. 동일한 임금률과 능력을 가진 동일한 두 사람이 있을 때, 한 쪽이 단지 여가에 대한 선호가 더 높아 일을 덜 하였음에도 이 경우 일을 더 많이 한 쪽의 소득이 높게 된다. 따라서 일을 더 함으로써 그는 더 많은 세금을 납부해야 하는데, 이런 경우에는 세금이 '성실함'의 댓가가 될 수도 있다. 이러한 문제가 있음에도 소득은 측정이 비교적 쉽고 수치화가 가능해서 가장 널리 사용된다. 유의할 점은 소득에는 노동소득만이 아니라 배당이나 이자 등을 통한 자본소득도 포함된다는 점이다.




② 예산집합




동일한 예산집합을 동일한 경제적 능력으로 판단한다. 하지만 예산집합이 교차하는 경우 비교가 어렵다(순위를 매기기가 어렵다).




③ 임금률




임금률의 결정에 다양한 요소가 개입된다는 점, 임금률을 측정하는 것이 어렵다는 점, 그리고 불로소득의 경우도 있다는 점 등이 문제가 된다.




④ 소비수준




소비수준이 경제력을 반영한다고 볼 수 있지만 항상 그런 것은 아니다. 경제적 능력과 무관하게 과소비를 하는 사람도 있을 수 있기 때문이다. 그러나 소득을 감추기가 소비를 감추기보다 어렵기 때문에 소비를 측정 기준으로 삼는 것도 일리가 있다. 하지만 이 경우 소비수준을 파악하는 과정에서 사생활에 대한 부당한 침해가 발생할 소지도 있음.




⑤ 재산 




재산은 소득에 비례할 가능성이 크기 때문에 소득 대신 재산을 과세 기준으로 삼을 수도 있다. 하지만 재산은 많고 소득이 전혀 없는 경우도 있기 때문에 이 경우 세금 때문에 납세자가 현금흐름의 부족에 직면하게 될 수도 있다. 그리고 재산의 종류가 다양하고 평가 기준도 분명하지 않은 등의 어려움으로 인해 정확한 파악이 어렵다.




한편 피케티 같은 학자는 재산에 세금을 매기는 자본세를 주장하기도 한다. 하지만 그것이 현실적으로 어려움이 많기 때문에 극히 낮은 세율을 매기자고 주장하는데, 그 이유는 세수의 확보나 부의 재분배보다 조세 투명성을 확보해 초부유층의 재산 상태를 확인하자는 의도이다. 그는 우리 세대가 부의 불평등에 논할 때 정보가 너무 부족하다면서 이러한 자본세를 통해 정보를 축적해야 하며 이렇게 모인 정보가 민주적 토론과 자본주의에 대한 민주적 통제에 이용될 수 있다는 입장이다.








2. 능력평가 기준으로서의 소득(365~369)




현실상에서 경제적 능력의 측정 기준으로서 주로 소득이 사용된다. 소득은 "비교적 정확하고 객관적으로 파악할 수 있을 뿐 아니라 현금흐름 제약의 문제도 없다는 등 여러 점에서 상대적으로 더 낫기 때문(366)"이다. 하지만 소득도 완전한 평가 기준이라 볼 수는 없다. 다음과 같은 여러 문제가 있다.




① 실현소득과 미실현소득




"현행의 소득세제는 예외 없이 실현된 소득에 대해서만 과세를 하는 실현주의(realization concept) 원칙을 채택하고 있다." 예를 들어 주식 가격의 상승으로 인한 차익은 해당 주식을 매도하기 전에는 '실현'되지 않는다. 부동산 계약도 마찬가지로 계약 자체로는 소득의 수취가 실현되지 않는다.




책에서는 미실현소득에 대해 과세를 하지 않는 것이 '조세 공평' 차원에 위배된다고 설명하고 있다. 하지만 개인적으로는 소득의 실현과 미실현은 개인의 선택에 기반하고 있고 미실현소득의 경우는 인플레이션의 위험이나 할인 등으로 인해 일종의 손실이나 위험을 감수하고 있으므로 과연 이것이 조세 평등에 위배되는지 의문이 든다.




② 인플레이션의 문제




인플레이션은 비례세에는 문제가 없지만 누진세제에서는 문제가 된다. 인플레이션으로 실질구매력의 상승은 없이 명목소득만 상승하여 과세구간이 달라지면 누진세율의 적용에 따라 조세부담이 더 무거워질 수 있기 때문이다. 이런 경우 조세부담과 인플레이션을 연동할 수 있지만 인플레이션은 워낙 변동이 심하기 때문에 그러한 조정은 결코 쉽지 않다.




③ 요소소득과 이전소득




노동이나 자본 등의 생산요소를 공급해 얻은 소득을 요소소득(factor earnings)라 하고, 정부가 일방적으로 이전해 주어 생긴 소득을 이전소득(transfer income)이라 한다. 이 양자를 동일하게 처리할지 다르게 처리할지(차등과세)가 문제된다.




대부분의 조세제도는 이전소득에 대해서는 과세를 하지 않는 경우가 많다. 부유한 사람이 이전소득을 얻는 경우에는 과세를 하는 것이 조세공평에 부합한다고 생각되지만, 대부분의 이전소득은 저소득층을 위한 것인 경우가 많기에 정책상 배려로 과세를 하지 않는다.




이와 더불어 요소소득 중에서도 이자소득이나 임대소득 등을 노동소득과 다르게 과세해야 하는지도 문제가 될 수 있다. 이자소득이나 임대소득 등을 노동소득보다 무겁게 과세해야 한다는 주장이 제기되는데 책에서는 이에 대한 엄밀한 논리적 근거를 찾기 힘들다고 한다. 개인적으로는 이자소득이나 임대소득의 경우가 노동소득에 비해 그 향유자가 얻는 '순효용' 측면에서 더 높기 때문에 더 무거운 과세를 할 수도 있다고 생각한다. 완전한 과세란 납세자의 경제적 복지를 통해 측정되어야 한다고 했는데, 그 논리라면 보통은 이자소득이나 임대소득의 경우가 노동소득보다 취득하는 데 훨씬 용이한 편이기 때문에, 이자소득 등의 불로소득에 대해 더 무겁게 과세하는 것도 일리가 있다.




④ 귀속소득의 처리




재산을 보유함으로써 얻게 되는 암묵적인 소득이 있다. 이를 귀속소득(imputed income)이라 한다. 화폐의 형태가 아닌 소득을 의미하는데, 집을 자가로 소유하는 사람은 실질적으로는 그만큼의 임대료를 벌어들이고 있는 셈이 된다. 음식점을 하는 이가 자신의 식당에서 식사를 하는 경우도 마찬가지이다. 화폐로 매개되는 거래가 없을 뿐 이 경우에도 경제적으로는 소득이 발생한다고 볼 수 있지만, 대부분의 조세체계는 이러한 소득에 대해 과세하지 않는다.




"귀속소득을 과세대상에서 제외하는 것은 공평성의 측면에서 명백한 문제를 일으킨다(368)." 임대료 소득에 대해서는 과세를 하면서 자가로 소유한 이가 얻는 경제적 소득에 대해서는 과세를 하지 않기 때문이다. 하지만 측정상의 어려움으로 인해서 귀속소득에 대한 과세는 거의 이루어지지 않는다.




노무현 정부 당시 도입되었던 종합부동산세는 얼핏 보면 귀속소득에 대한 과세라고 생각할 수도 있는데 그보다는 재산세의 성격이 더 강했던 것 같다. 정책상의 의도도 부동산 투기를 잠재우려는 목적이었기 때문에 귀속소득에 대한 과세였다고 볼 수는 없다.




귀속소득과 비슷한 문제로 현물형태의 소득이 있는데, 예를 들어 농민이 경작한 농산물을 직접 소비하는 경우이다. 이런 경우 소비한 농산물은 과세에서 제외된다. 논리적으로 보면 이러한 현물형태의 소득에도 과세하는 게 맞지만 현실상으로는 실행이 불가능하다.




⑤ 소득 취득에 들어간 비용의 처리




기업의 경우 기업활동의 각종 비용을 제외하고 순이윤에 대해 과세를 하지만 개인의 소득에 대해서는 그렇지 않은 경우가 많다. 따라서 개인의 경우도 소득 취득에 들어가는 각종 비용을 공제하고 과세를 하는 게 타당하다고 생각된다. 이런 취지에서 실제로 많은 국가들이 소득 취득에 들어간 각종 비용들을 공제해주고 있지만, 어떤 것까지 비용으로 간주해야 하는지를 결정하는 것은 매우 어려운 문제이다. 또한 개인기업의 경우는 개인의 생활에 사용된 것인지 기업활동에 사용된 것인지 애매한 경우도 많아서 이러한 문제를 더욱 복잡하게 한다.






[참고서적]


이준구, 『재정학』, 다산출판사(2008)







[재정학] 조세론 : 기본원리 (3) 누진세에 대한 찬반의견


http://webcache.googleusercontent.com/search?q=cache:5nyrpIuynK0J:m.blog.naver.com/cto_hwangga/220859883724+&cd=3&hl=ko&ct=clnk&gl=kr





수직적 공평성의 원칙은 더 큰 소득을 얻는 사람이 더욱 많은 세금을 내야 한다고 요구한다. 그러나 얼마나 더 많이 내야 하는가는 논쟁적인데, 많은 이들이 조세제도의 누진성을 당연하게 받아들이고 있다. 그러나 이에 대한 찬반의견이 나뉘어지고 있다(369~373).






1. 반대의견




① 복잡한 조세제도: 복잡한 세율구조 때문에 조세 회피나 탈세의 구멍(loophole)이 생길 수 있다는 우려가 있다.




② 정치적 책임성: 누진세로 인한 부담은 소수 부유층에 집중되지만 이익은 다수가 누리게 된다. 따라서 다수의 대중이 소수의 이해에 대해 충분히 배려하지 못할 것이라는 우려. 설득력이 무척 낮다.




③ 효율성에 대한 부정적 영향: 누진과세가 경제의 활력을 떨어뜨리는 원인이 된다는 주장.




특히 ③이 가장 큰 설득력을 가지고 있고 실제로 많은 이들이 이를 바탕으로 누진세 도입이나 높은 누진성을 반대하고 있다. 그들의 말에 따르자면 "세율을 누진적으로 바꿀 경우 경제성장의 동력이 멈출 것"이라 한다(피케티 패닉, 108).




그렇지만 이에 대한 근거가 충분한지는 의문이다. "전체 세수를 늘리려는 목적이 아닌데 왜 성장이 멈춘다는 것일까? 누진세율을 적용한 결과 중산층의 가처분소득이 늘고 고소득층의 가처분 소득이 줄 때, 경제에 해롭다는 근거는 무엇일까? (피케티 패닉, 109)" 실제로 "전후 미국과 유럽에서는 매우 누진적인 세제와 보편적 교육 그리고 복지국가적인 요소들을 도입했는데, 이때 불평등은 역사적 최저점을 유지하면서도 해당 국가들은 어느 때보다도 높은 성장을 구가했다(피케티 패닉, 109)." 이러한 경이로운 세계 경제의 성장에는 다른 요인들이 더불어 작용했을지 모르겠지만, 어쨌든 강한 누진적 조세제도가 성장의 동력에 악영향을 준다는 주장에 대한 근거는 빈약한 편이다.








2. 찬성의견




① 경제적 불평등의 감소: 누진세를 도입하면 소득 불평등을 감소시킬 수 있기 때문에 누진세에 찬성한다. "소득의 불평등이 사회의 안전성을 흔들 수 있음을 감안하면" 누진세 도입이 정당화될 수 있다. 하지만 누진세가 실제 소득의 평준화를 가져오는지에 대해서 의견이 분분하다. 실제 누신세제가 소득 평준화에 거의 기여하지 못한다는 실증연구도 제시되는데(371), 이는 누신세의 실질적인 누진성과 관련된 문제일 수 있고, 누진세제가 효율적으로 적용되지 못하기 때문일 수도 있겠다. 예를 들면 한국의 누진세제 역시 실질적인 누진성은 낮으며 오히려 역진적이라는 주장도 종종 제기된다. 미국의 누진세제 역시 실질적으로는 역진적이라는 주장이 제기되고 있다.




② 편익원칙에 입각한 주장: 경제적 능력이 더 큰 사람일수록 정부서비스에 더욱 많은 혜택을 얻기 때문에(가진 게 많을수록 지킬 것도 많기 때문에) 더 많은 세금을 내야 한다는 논리. 하지만 편익을 계량화하는 데 어려움이 있어서 설득력은 낮은 편이다.




③ 사회계약론: 사람들이 위험회피적 성향을 갖는다면, 불확실성에 대한 대비로 누진세제를 채택할 것이라는 논리에 근거. 롤스의 사회계약론이 바로 이 관점을 취한다. 무지의 베일이라는 '가상적 상황'에서 사람들은 자신이 얼마나 사회적으로 적합한지, 얼마나 영리하고 얼마나 힘이 센지 알 수 없기 때문에, 이러한 불확실한 상황에서는 운이 나빠 사회적 약자가 되는 상황을 회피하기 위해서 '약자'를 배려하는 정책에 동의하게 된다는 것이다. 최소극대화 원칙이라고도 불리는 롤즈의 사회계약론은 마찬가지로 운이 나빠 불리한 형질을 타고 난 사회적 약자들을 위해서 누진세제를 도입하는 데도 우호적일 것이다.


 


④ 동등희생의 원칙: "모든 납세자가 조세부담으로 인해 감수해야 하는 희생이 동등해야 한다"는 원칙. 하지만 여기서 말하는 '희생'이 어떠한 의미인지에 따라서 요구하는 누진성이 달라진다. i) 희생의 절대량, ii) 희생의 비율, iii) 한계적 희생으로 나눠지는데, 대략적으로 iii)이 가장 강한 누진성의 조세제도를 요구한다. 이준구, 373~375에는 이 동등희생 원칙을 자세하게 분석하고 있다. 여기서는 그 내용은 생략하기로 한다.






3. 소결




크루그먼에 따르면 1980년대 이후 역진적으로 낮아진 부의 상속·증여세를 "누진적으로 돌릴 경우 부가 줄어드는 것이 아니라 소수에게 집중된 부가 다수에게 돌아가면서 분산되는 효과가 생기며, 이는 부자가 저축해서 사회에 간접적으로 환원하는 방법보다 효율적인 동시에 경제에 돌아가는 혜택이 잠재적으로 더 클 수 있다고" 한다(피케티 패닉, 110).




최근 각광을 받는(?) 동반성장론이나 소득주도 성장론은 '고른 분배'가 '성장'에 기여한다는 관점을 취한다. 그 이론적 근거는 '한계소비성향'이 하위소득층으로 갈수록 더 높다는 점에 있다. 부자 한 명이 소비할 수 있는 것보다 가난한 사람 다수가 소비할 수 있는 것이 더 크기 때문에 부의 고른 분배는 경제의 구매력을 향상시키며 이것이 다시 내수를 촉진해 경기를 활성화하고 성장을 촉진한다는 관점이다.




경기활성화와 경제성장의 촉진은 두 가지 관점에서 볼 수 있다. 모두 케인즈적인 선순환 관점에 기반하고 있는데, 부자의 부와 소득을 증대시켜서 '투자'를 촉진시키고 이것이 다시 고용을 늘려 경제를 활성화한다는 관점이다. 이명박 정부의 비즈니스 프렌들리나 레이건 정부의 레이거노믹스는 이 관점을 취했다.




반면 하위계층의 소득을 늘리면 내수(소비)를 촉진시키고 이것이 다시 기업의 경기 전망을 낙관적으로 만들어서 투자를 촉진한다는 관점이 있다. 최근 한국의 진보 진영에서는 이 관점을 취하고 있으며 루즈벨트 행정부도 이와 유사한 관점에서 '뉴딜' 정책을 추진하면서 미국의 중산층을 늘리기 위한 노력을 기울였다.




양측 모두 선순환을 원하지만, 그 투입 채널로서 '투자'를 보느냐, '소비'를 보느냐의 차이가 있다. 투자는 변동성이 크기 때문에 경기변동의 키로 자주 간주되는데, 이런 이유로 주류 경제학에서는 '투자'에 더 초점을 둔다. 하지만 '소비'가 '투자'에 미치는 영향은 직관적으로 보아도 작지 않기 때문에 '소비'에 대해서 더 관심을 기울여야 할 필요도 있을 것이다(기업은 왜 투자를 하는가? 소비자들이 더 많은 상품을 원할 것이라고 판단하기 때문에 투자하는 것이 아닌가?).




누진세를 지지하는 입장은 당연히 동반성장론이나 소득주도 성장론과 밀접하다. 누진세 찬성의견은 '고른 소득 분배'가 경제에 얼마나 이로울 수 있는가를 증명해야 한다.




소득주도 성장론도 '소득을 어떻게 하위 계층으로 분배시킬 것인가' 하는 점에서는 다양한 목소리를 갖는다. 단순히 이전지출을 이용해서 직접적으로 자금을 지원하는 방식이 있는가 하면(복지정책이나 기본소득론 등), 고용의 안정이나 확대, 비정규직의 축소 등을 통해 실현하려는 입장이 있다.




개인적으로는 '고용'과 연계되는 관점에서 소득의 고른 분배를 도모해야 한다고 생각하고 있다.




누진세제를 옹호하는 관점에서 취할 수 있는 가장 강력한 근거는 '고른 소득 분배'가 경제활성화와 경제성장에도 이롭다는 것이며, 이를 증명하는 것이 바로 이 입장의 지지자들이 취해야 하는 태도이다. 그리고 또한 누진세제가 정말로 '고른 소득 분배'를 기여하는지, 그렇지 못하다면 왜 그러한지, 누진세제가 고른 분배에 실질적으로 기여하기 위해서는 어떻게 해야 하는지도 누진세제 찬성자들이 답해야 할 문제일 것이다.




반대로 누진세를 반대하려면 "누진세율이 왜 성장에 해로운지, 부가 소수로 편중되는 세율구조가 왜 필요조건이 되어야 하는지를 명료하게 논증할 수 있어야 할 것이다(피케티 패닉, 111)."




피케티에 따르자면 "지금이 19세기의 세습자본주의 때만큼 불평등이 극심하지 않은 유일한 이유는 당시에는 존재하지 않았던 중산층이 존재하기 때문이며 이들 중산층이 어느 정도의 부를 향유하게 된 것이 20세기의 사회적 혁신이었다(피케티 패닉, 110~111)".




그런 관점에서 나 역시 누진세제를 옹호하고, 한국의 세제가 보다 더 누진성을 강화해야 한다는 입장이다. 그리고 이것이 사회가 초부유층에게 포획되는 반민주적 현상을 막을 수 있는 방법이라고 생각한다. 또한 누진성의 강화를 통해 중산층이 확대되고, 누진성 강화로 더 확보된 세수가 있다면(하지만 세수 확보가 주목적이어서는 안 된다) 이를 '효율적인' 복지·교육·공공고용 정책 등에 투입해서 보다 건강한 사회적 선순환의 고리를 만들 수 있다고 생각한다.




기본적으로 누진세제는 '세수 확보'보다는 '소득 분배' 관점에서 다뤄져야 하며, 누진성 강화로 인해서 더 걷히는 세금이 있다면 이것은 '덤'이라고 생각해야 할 것이다.




누진세 반대의 입장에서는 '부의 소수로의 집중'이나 '소득의 불평등'이 경제에 어떻게 긍정적인 작동을 하는지 '실증적인 관점'에서 증명해야 한다. 그렇지 않다면 그러한 주장은 한갓 '감'에 의존한 이념 공세에 불과할 것이다.






[참고서적]


이준구, 『재정학』, 다산출판사(2008)






[재정학] 조세론 : 소득세 (1) 과세대상 


http://webcache.googleusercontent.com/search?q=cache:GmQCUPFxhTwJ:blog.naver.com/PostView.nhn%3FblogId%3Dcto_hwangga%26logNo%3D220978463202%26parentCategoryNo%3D%26categoryNo%3D225%26viewDate%3D%26isShowPopularPosts%3Dtrue%26from%3Dsearch+&cd=4&hl=ko&ct=clnk&gl=kr






이준구 교수의 『재정학』 중 제16장 바람직한 조세제도의 탐색 부분을 정리하려다가, 도표와 수식을 정리하기가 어렵고(시험 볼려고 공부하는 것도 아닌데), 도무지 결론이 나지를 않는 파트인 것 같아서 생략했다. 직접세와 간접세, 소득세와 지출세, 초과부담 등 중요한 개념과 아이디어들이 논의되고 있지만, 지나치게 이론적이란 생각이 들어서......




이론적으로나 실증적으로나 더 바람직한 조세제도를 탐색하려는 움직임은 있고 그것이 가치 있는 일임은 분명할 것이지만, 나 같은 사람이 보기에는 지나치게 학술적이고 "현재로서는" 실용성이 떨어진다. 일단 조세론을 가볍게 훑어보고, 나중에 다시 공부할 기회가 있다면 그때 자세히 정리하기로 하자.




제17장부터는 현실상의 조세제도를 다루고 있다. 처음은 소득세와 부가가치세인데 먼저 소득세부터 정리. 이 부분은 그냥 책에 나오는 내용들을 간략하게 정리하기만 하고, 공부하면서 든 생각들을 간단하게 메모해두기로 한다.




재정학을 공부하는 이유는 어떤 정책도 예산 없이는 시행이 불가능하고, 또 재정의 지출은 국민에게 부담으로 돌아가기 때문에, 사회문제에 관심이 있는 사람이라면 누구나 당연히 공부를 해야 하는 분야라고 생각했기 때문이다. 토마 피케티는 『21세기 자본』에서 누진 소득세와 자본세를 중요하게 거론하는데, 특히 미국을 비롯한 많은 선진경제에서 강력한 누진세를 시행했음에도 그것이 전후 번영에 전혀 장애가 되지 않았고 오히려 두터운 중산층을 육성했다고 주장한다. 그런데 최근에 들어서는 조세제도의 누진성이 약화되었고 양극화가 증대되고 있다는 것. 실증적으로 볼 때 감세와 누진세의 약화, 그리고 세계화와 신경영기법의 도입이 동시에 진행되어서 어떤 것이 양극화와 부의 편중에 가장 큰 요인인지, 서로 간에 어떤 영향을 주는지는 명확하게 파악이 되지 않지만, 피케티의 저서를 통해 조세제도가 국가재정 수입뿐 아니라 경제 전반에 큰 영향을 준다는 것을 알 수 있다. 지금 조세론을 공부하면서도 이러한 점들을 염두에 두고 공부하려 하고 있다.






1. 과세대상 : 헤이그-사이먼즈의 소득정의




"소득세는 각 납세자의 경제적 능력에 따라 조세부담을 결정하는 능력원칙에 그 논리적 기초를 두고 있다(482)." 그러나 경제적 능력을 측정하는 것이 쉽지 않은 일이기 때문에 그 대리변수로서 '소득'을 과세의 기준으로 삼는다. 그런데 무엇을 소득으로 정의할지는 의외로 간단하지 않은 문제.




1) 이상적 소득 - 헤이그(R. Haig)와 사이먼즈(H. Simons)




소득 = 두 시점 사이에서 발생하는 경제적 능력 순증가의 화폐가치


        = 소비 + 순가치(net worth)의 변화




482


예를 들어 주택 가치가 상승하거나 보유한 주식의 시장가격이 상승하면 이것도 순가치의 증가로 과세 대상에 포함된다. 발생주의(accretion concept) 시각에서 정의된 소득이라 할 수 있다.




이러한 소득정의의 장점은 ① 능력원칙의 정신에 더욱 충실한 과세가 가능해질 수 있고, ② 소득세 세원을 잠식시키는 허점(구멍, loopholes)를 줄일 수 있다. ③ 모든 소득을 동등하게 과세하므로 과세로 인한 교란을 줄일 수 있다(효율성의 제고).




그에 비해 ① 실제로 시행하기에는 큰 행정비용이 수반되고, ② 아직 실현되지 않은 소득에 대해 이중과세가 발생할 수 있으며, ③ 가내생산 소비재, 여가, 내구성 자산의 귀속소득 등을 소득에 포함시켜 과세하는 것이 쉽지 않다.




2) 현실의 소득 정의




이상적 소득이 발생주의 원칙에 기초하고 있다면 현실상의 소득세제는 "실현된 소득만을 과세 대상에 포함시키는" 실현주의(realization concept) 원칙에 기초하고 있다(484).




예를 들어 보유 주식의 가치가 상승했다고 해도 그것을 경제적 능력의 증대로 해석하지 않고 실제로 보유한 주식을 매도하여서 시세차익을 거두었을 때 과세의 대상에 포함시킨다.




현실의 소득세제에서는 노동이나 토지, 자본 같은 생산요소를 공급한 대가로 받는 임금, 임대료, 이자, 배당금 등의 요소소독(factor earnings)이 전형적인 과세대상이 된다. 반면에 다른 형태의 소득은 부분적으로만 과세대상이 되기도 하고, 경우에 따라서는 아예 과세대상에서 빠지기도 한다. 예를 들어 자산을 사고파는 과정에서 생긴 자본이득은 앞에서 말한 요소소득과 다르게 취급하고 있는 것이 일반적인 경향이다. 나라마다 조금씩 다르기는 해도 모든 자본이익을 완전하게 과세대상에 포함시키는 나라는 거의 없다.


484


또한 사회보장 급여나 정부의 이전지출에 대해서도 대개 과세대상에 포함되지 않고 내구재의 귀속소득도 대부분은 과세대상에 포함시키지 않는다(484~485). 따라서 "현실의 소득세제에서 과세대상은 거의 전적으로 요소소득에 국한되어 있다고 말할 수 있다(485)."




참고로 집을 소유함으로써 얻게 되는 귀속임대료(imputed rent)가 과세대상에 포함되지 않는 문제가 있는데, 언뜻 보면 무주택자가 불리한 대우를 받는 결과가 될 수 있다. 그러나 주택을 보유한다는 것은 주택 가격 변동의 위험을 부담함과 동시에 주택을 보유하지 않고 예금이나 다른 금융자산을 보유하게 될 경우의 자본이득을 포기하는 것과 같으므로, 차라리 주택을 보유하게 됨으로써 얻게 되는 자본이득에 과세를 하는 것이 공평한 것 아닐까? 좀 더 생각해볼 문제인 것 같다.


3) 공제제도 - 인적공제, 소득공제, 세액공제




경제적 능력을 측정할 때 소득만이 아니라 소득을 벌기 위해 들어가는 비용도 고려가 되어야 한다. A는 아무런 비용도 들지 않고 100의 수입을 얻는 데 반해 B는 20의 비용을 들이면서 100의 수입을 얻는다면 두 사람의 소득이 동일하더라도 경제적 능력이 같다고 볼 수 없다. "이상적으로 말하면 어떤 사람이 번 소득에서 그 소득을 얻기 위해 소요된 비용을 차감하고 난 나머지 부분을 그 사람의 납세능력으로 간주하고 이에 대해 소득세를 부과해야 마땅하다(486)." 이를 공제제도라고 한다.




공제제도에는 크게 세 가지가 있는데




① 인적공제(personal exemption): 납세자가 어쩔 수 없이 지출할 수밖에 없는 비용이기 때문에 공제를 해주는 제도. 예를 들어 납세자 본인과 그 가족이 생계를 유지하는 데 드는 비용을 공제해주는 것이다(486). 여기에는 기본공제, 추가공제, 특별공제가 있다(참고).




② 소득공제(deduction): 과세대상이 되는 소득 중 일정액을 차감해줌. 높은 한계세율의 적용을 받는 납세자일수록 같은 크기의 소득공제에서 받는 실질적 혜택이 더 커진다(487).




③ 세액공제(tax-credit): 과세대상의 소득 중 일부를 제해주는 것이 아니라, 결정된 세액 중 일부를 직접 공제. 소득공제와 달리 한계세율과 관계 없이 세액공제약 자체가 세금 절감폭이 되며, "한계세율이 높은 사람일수록 더욱 유리한 현상은 일어나지 않고, 오히려 한계세율이 낮은 사람에게 상대적으로 더욱 유리하게 작용할 수 있다(487, 강조는 인용자)."




우리나라의 소득공제에는 근로소득공제라는 독특한 형태의 공제가 허용되고 있다. 사업자를 제외하고 근로자에게만 적용되는 혜택인데, 이것이 제공되는 근거는 (중략) 대개 중·하위 소득계층에 속하는 사람들이기 때문에 조세부담을 가볍게 해주어야 한다는 것이다. 그러나 실질적으로는 비근로소득의 경우 과세대상에서 탈루되는 부분이 많은데 유독 근로소득만 전액 과세대상이 되기 때문에 형평성이 상실되어 현실에 대한 대응이라는 측면이 더욱 강하다.


486~487




우리나라 소득세제에서는 배당소득세액공제, 기장세액공제, 저축세액공제 등 여러가지 형태의 세액공제를 허용해 주고 있다. 한 가지 특이한 사실은 근로소득에 대해서는 앞에서 설명한 것처럼 소득공제를 허용해 주는 데다가 다시 세액공제를 추가적으로 허용해 준다는 점이다. 소득공제만을 허용해 줄 경우에는 한계세율이 낮은 사람에게 상대적으로 불리하게 작용할 수 있기 때문에 세액공제를 추가적으로 허용하는 것으로 해석할 수 있지만, 소득세제를 공연히 복잡하게 만든다는 문제점이 있다.


487


마지막으로 최근 들어 면세점이 너무 높거나 세금을 내지 않는 사람의 수가 너무 많다는 지적이 제기되고 있다. 반드시 세원 확보가 목적이 아니라도, 국민개세주의(國民皆稅主義 )에 따라 아무리 적은 액수라도 모든 국민이 세금을 내도록 하자는 주장이 힘을 얻고 있다. 현행 제도 하에서는 대략 절반에 가까운 납세자들이 면세를 받고 있다고 한다. 깊이 생각해볼만한 주제. 취지가 좋기는 한데 세금 수취의 비용과 이익 사이의 형량이 고려되어야 할 것.






[참고서적]


이준구, 『재정학』, 다산출판사(2008)




[재정학] 조세론 : 법인세 (2) 과세대상과 세율구조


http://webcache.googleusercontent.com/search?q=cache:k39GuI6GPMwJ:blog.naver.com/PostView.nhn%3FblogId%3Dcto_hwangga%26logNo%3D221062616855%26redirect%3DDlog%26widgetTypeCall%3Dtrue%26directAccess%3Dfalse+&cd=5&hl=ko&ct=clnk&gl=kr



1. 과세대상



법인세의 대상이 법인 부문의 소득이라는 것은 분명하다. 즉 법인세의 과세대상은 법인이 "일정 기간 동안 얻은 수입에서 사업에 소요된 여러 가지 비용을 뺀 것으로 정의된다(512)." 그렇지만 법인의 소득을 정의한다는 것이 소득세의 경우처럼 그리 간단한 문제는 아니다. 기업의 수입이나 비용의 구조가 개인의 소득·지출에 비해 더 복잡하고 종료가 많아 문제가 한층 더 어려운 측면도 있다(512).



법인의 소득을 어떻게 정의하는가는 곧 과세대상을 정하는 것도 같다. 법인의 비용(경비)를 어떻게 정의하는가에 따라 법인세 부담이 달라지기 때문에, 법인세는 법인의 행동에 여러 가지 영향을 준다. "예를 들어 차입금에 대한 지급이자는 경비로 인정해주지만 자기자본에 대한 귀속이자는 경비로 인정해 주지 않는 법인세제상의 특성이 법인들로 하여금 타인자본, 즉 부채에 대한 의존도를 높게 만드는 유인을 제공할 수 있다." 또한 감가상각의 정의 역시 법인세 부담을 달라지게 하므로 법인의 행동에 영향을 준다. [512~513]





2. 세율구조



법인세의 경우 대체로 단순한 세율구조를 갖는다. 그리고 누진세율이 적용되더라도 단계가 적은 특성이 있다. "세계 여러 나라의 법인세 세율 구조를 보면 몇 가지의 세율만으로 구성된 단순한 세율구조를 유지하고 있으며, 세율에 차이가 있더라도 누진성의 측면과는 관계가 없는 것이 일반적인 추세다(513)."



현재(2017. 7 기준) 한국의 법인세율은 2억원 이하의 액수에 대해선 10%, 2억원 초과~200억원 이하의 액수에 대해서는 20%(2,000만원 누진 공제), 200억 초과분에 대해서는 22%(42,000만원 누진 공제)이다.



오해하기 쉬운 것이 200억 이상의 소득을 얻은 법인에게 22%의 단일 세율이 적용되는 것이 아니라, 2억원 이하의 액수에 대해 10%, 2억원~200억원에 대해서 20%, 그 이상에 대해서 22%가 적용된다. 가령 소득이 200억 1원이라면, 1원에 대해서만 22% 세율이 적용된다는 이야기다. 누진공제는 누진세 단계 중 아랫단계에서 이미 부과된 부분을 공제해주는 것이다.



한국의 법인세율은 1991년부터 지속적으로 인하되었다(특히 이명박 정부 시절에 크게 인하되었다). 공공법인과 영리법인의 세율이 달랐는데 2008년부터는 영리 및 비영리 법인의 법인세가 통합 적용되기 시작했다. 영리법인의 세율이 상대적으로 더 높았지만 지속적으로 인하됨에 따라 두 세율의 차이는 점점 좁혀지다가 결국 하나로 통합되었다.



전세계적으로 비교했을 때 한국의 법인세율이 높다고 볼 수는 없다. 오히려 낮은 편이라고 보는 게 맞을 것 같다. 일부 법인세율이 매우 낮은 국가들, 가령 아일랜드나 스위스, 캐나다 등도 있는데, 대체로 20% 대의 세율이 일반적이며 높은 국가는 30% 이상의 국가들도 더러 있다(미국). 그러나 법인세가 반드시 단일세율 구조는 아니고 누진구조의 차이도 있어서 일률적으로 말하기는 어렵다.



또한 기업 환경을 평가하는 데 있어 법인세가 결정적 요인이라고 보기는 어려울 것 같다. 기업 환경은 정치적 안전성, 자본 접근성, 노동시장의 질, 기업 문화, 정부 서비스 등 다양한 요소들이 결합됨으로써 결정된다고 보는 것이 맞을 것이다. 더구나 한국의 경우, 기업 부문에 대해서 다양한 지원과 보조(가령 극히 낮은 산업용 전기요금)가 들어가므로 단순히 법인세율로만 기업 환경을 평가하기 어려운 점이 있다.



최근에는 여당(더불어민주당)을 중심으로 법인세 최고세율을 인상하려는 움직임도 있다. 일각에서는 세계적으로 법인세를 낮추는 추세에 있으므로 법인세를 인상하면 안 된다고 주장하기도 하지만, '그럴 움직임이 있다는 것'과 '실제로 인하한 것'은 엄연히 다르므로, 아직은 전세계적으로 법인세를 인하하는 추세가 있다고 보기는 어려울 것 같다. 또한 이미 인하한 국가의 세율도 우리의 세율보다 높은 경우가 있으므로(일본), 법인세 인하·인상의 추세를 일률적으로 보기는 어려울 것이다.



더불어 아주 낮은 법인세율을 가진 아일랜드 같은 국가는 지나친 자본 유출입으로 국가부도 위기를 겪은 적이 있다. 아일랜드는 공격적으로 법인세를 인하하면서 기업 하기 좋은 환경을 만들었다는 평가를 받았으나 아이슬란드와 함께 2008년 글로벌 금융위기를 가장 가혹하게 겪은 국가로 손꼽힌다. 법인세 인하로만 기업들을 붙잡아 두는 데는 한계가 있다. 맛없는 식당이 가격만 인하한다고 손님들이 찾지 않는 것과 비슷하다(법인세 낮춘다고 구글이 한국으로 올까).





[참고문헌]

이준구, 『재정학』, 다산출판사(2008)














Posted by 김용환 '김용환'