색깔 XOR 연산 과정이 어떻게 되나요?

import java.awt.Color; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; public class Test1 extends JPanel { public void paint(Graphics g) { int w = getSize().width; int midW = w / 2; g.drawString("XOR Mode", 0, 30); g.setColor(Color.blue); g.drawOval(7, 37, 50, 50); g.setXORMode(Color.black); for (int i = 0; i < 15; i += 3) { g.drawOval(10 + i, 40 + i, 50, 50); } } public static void main(String[] args) { JFrame frame = new JFrame(); frame.add(new Test1()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(20,20, 500,500); frame.setVisible(true); } }

위 코드를 실행해보면 g.setXORMode 메서드에 의해 파랑색과 검정색이 XOR 연산을 해서 노랑색으로 변환이 되는데 파랑색(0x0000FF)과 검정색(0x000000)으로 XOR 연산을 하면 그대로 파랑색(0x0000FF)이 나오는 것이 아닌가요? 파랑색(0x0000FF)과 검정색(0x000000)의 XOR 연산 결과가 노랑색(0xFFFF00)가 나오는 과정이 궁금합니다.

    아직 답변이 없어요.