System.out.print(a) : a값 그대로 출력, 줄바꿈 xSystem.out.printf(a): 형식지정자(%s, %d, %.1f,\\n)를 사용하여 원하는 형태로 출력할 수 있음System.out.println(a) :print()에 자동 줄 바꿈 추가여러
상태 (State): 객체의 현재 데이터. 변수에 담긴 값에 의해 확정됨.메서드 (Method): 객체의 동적인 행위. 함수에 해당함.객체를 만들어내기 위한 설계도.모든 것을 객체로 표현하고, 그 객체들 간의 관계를 통해 프로그램을 완성하는 방식.추상화: 공통점을 뽑아
C/C++과 달리, 자바는 모든 코드가 반드시 class 내부에 있어야 함.엔트리 포인트 (Entry Point): 프로그램의 시작점. JVM이 가장 먼저 실행하는 메서드.이 main 메서드 선언부는 고정된 틀이므로 반드시 암기해야 함.public: 외부(JVM)에서
객체 지향 프로그래밍 OOP 객체들의 상호작용으로 만들어지는 프로그램 객체(Object) == 인스턴스(Instance) 객체 지향 프로그래밍 목표 수정이 쉬워야 한다: 버그를 잡거나 로직을 변경할 때. 확장이 쉬워야 한다: 새로운 기능을 추가할 때, 기존 코드를
객체는 클래스를 바탕으로 메모리(Heap 영역)에 실제로 생성된 실체 new 키워드를 사용하여 생성, 객체의 주소값을 저장하는 참조 변수(Reference Variable)를 통해 사용됨참조 변수 선언: Circle pizza; (Circle 객체의 주소를 담을 변수

default (Package-Private): 키워드가 아니며, 접근 제어자를 아무것도 명시하지 않았을 때 적용되는 기본 접근 수준같은 패키지 내에서만 접근이 가능관련있는 클래스 파일(컴파일 된 .class)을 저장하는 디렉터리클래스나 일부 멤버를 공개하여 다른 클래
1차원 배열 배열 생성 배열에 값 저장 2차원 배열 배열 생성 배열 값 저장 가변 크기 2차원 배열 -- e.g. 입력 받은 수 최댓값 찾기 정수로 된 돈의 액수를 입력 받아 오만 원권, 만 원권, 천 원권, 500원짜리 동전, 100원짜리 동전이 각
객체지향의 핵심은 관계와 다형성상속은 최소화하고 컴포지션을 기본 전략SOLID 원칙은 객체지향 설계가 망가지지 않도록 함기능 하나 추가했을 뿐인데 여러 클래스 수정if–else가 끝없이 늘어나는 구조객체 생성 로직이 여기저기 흩어짐테스트하기 어려운 코드AI에게 요구사항
(Factory · Singleton · Builder · Facade · Observer)SOLID 원칙만으로는 구조를 설명하기 부족할 때,반복적으로 검증된 설계 해법에 이름을 붙인 것이 디자인 패턴SOLID까지 지켰는데도 이런 문제가 남는다.객체 생성 로직이 너무